Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

58 lines
1.4 KiB

#ifndef DLG_H
#define DLG_H
#include <windows.h>
#include <windowsx.h>
#include <debug.h>
typedef void (*PFN)();
typedef union tagMMF {
PFN pfn;
LRESULT (*pfn_lwwwl)(HWND, UINT, WPARAM, LPARAM);
BOOL (*pfn_bwwwl)(HWND, UINT, WPARAM, LPARAM);
void (*pfn_vv)();
BOOL (*pfn_bv)();
void (*pfn_vw)(WPARAM);
BOOL (*pfn_bw)(WPARAM);
void (*pfn_vh)(HANDLE);
BOOL (*pfn_bh)(HANDLE);
BOOL (*pfn_bhl)(HANDLE, LPARAM);
void (*pfn_vhww)(HANDLE, UINT, WORD);
void (*pfn_vhhw)(HANDLE, HANDLE, WORD);
} MMF;
typedef enum tagMSIG {
ms_end = 0,
ms_lwwwl, // LRESULT (HWND, UINT, WORD, LPARAM)
ms_bwwwl, // BOOL (HWND, UINT, WORD, LPARAM)
ms_vv, // void (void)
ms_bv, // BOOL (void)
ms_vw, // void (WPARAM)
ms_bw, // BOOL (WPARAM)
ms_vh, // void (HANDLE)
ms_bh, // BOOL (HANDLE)
ms_bhl, // BOOL (HANDLE, LPARAM)
ms_vhww, // void (HANDLE, UINT, WORD)
ms_vhhw, // void (HANDLE, HANDLE, WORD)
} MSIG;
typedef struct tagMSD {
UINT msg;
MSIG ms;
PFN pfn;
} MSD;
typedef MSD *PMSD;
typedef struct tagCMD {
UINT nID, nLastID;
MSIG ms;
PFN pfn;
} CMD;
typedef CMD *PCMD;
INT_PTR Dlg_MsgProc(const MSD *pmsd, HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
BOOL Msg_OnCmd(const CMD *pcmd, HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
#endif