dlg.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 1k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #ifndef DLG_H
  2. #define DLG_H
  3. #include <windows.h>
  4. #include <windowsx.h>
  5. #include <debug.h>
  6. typedef void (*PFN)();
  7. typedef union tagMMF {
  8.     PFN pfn;
  9.     LRESULT (*pfn_lwwwl)(HWND, UINT, WPARAM, LPARAM);
  10.     BOOL    (*pfn_bwwwl)(HWND, UINT, WPARAM, LPARAM);
  11.     void    (*pfn_vv)();
  12.     BOOL    (*pfn_bv)();
  13.     void    (*pfn_vw)(WPARAM);
  14.     BOOL    (*pfn_bw)(WPARAM);
  15.     void    (*pfn_vh)(HANDLE);
  16.     BOOL    (*pfn_bh)(HANDLE);
  17.     BOOL    (*pfn_bhl)(HANDLE, LPARAM);
  18.     void    (*pfn_vhww)(HANDLE, UINT, WORD);
  19.     void    (*pfn_vhhw)(HANDLE, HANDLE, WORD);
  20. } MMF;
  21. typedef enum tagMSIG {
  22.     ms_end = 0,
  23.     ms_lwwwl,   // LRESULT (HWND, UINT, WORD, LPARAM)
  24.     ms_bwwwl,   // BOOL    (HWND, UINT, WORD, LPARAM)
  25.     ms_vv,      // void    (void)
  26.     ms_bv,      // BOOL    (void)
  27.     ms_vw,      // void    (WPARAM)
  28.     ms_bw,      // BOOL    (WPARAM)
  29.     ms_vh,      // void    (HANDLE)
  30.     ms_bh,      // BOOL    (HANDLE)
  31.     ms_bhl,     // BOOL    (HANDLE, LPARAM)
  32.     ms_vhww,    // void    (HANDLE, UINT,   WORD)
  33.     ms_vhhw,    // void    (HANDLE, HANDLE, WORD)
  34. } MSIG;
  35. typedef struct tagMSD {
  36.     UINT msg;
  37.     MSIG ms;
  38.     PFN  pfn;
  39. } MSD;
  40. typedef MSD *PMSD;
  41. typedef struct tagCMD {
  42.     UINT nID, nLastID;
  43.     MSIG ms;
  44.     PFN  pfn;
  45. } CMD;
  46. typedef CMD *PCMD;
  47. INT_PTR Dlg_MsgProc(const MSD *pmsd, HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
  48. BOOL Msg_OnCmd(const CMD *pcmd, HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
  49. #endif