Leaked source code of windows server 2003
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.

711 lines
33 KiB

  1. // This is a part of the Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1998 Microsoft Corporation
  3. // All rights reserved.
  4. //
  5. // This source code is only intended as a supplement to the
  6. // Microsoft Foundation Classes Reference and related
  7. // electronic documentation provided with the library.
  8. // See these sources for detailed information regarding the
  9. // Microsoft Foundation Classes product.
  10. // Do not include this file directly (included by AFXWIN.H)
  11. /////////////////////////////////////////////////////////////////////////////
  12. // Entries in a message map (a 'AFX_MSGMAP_ENTRY') table can be of 9 formats
  13. //
  14. // 1) control notification message (i.e. in response to WM_COMMAND)
  15. // WM_COMMAND, nNotifyCode, nControlID, nControlID, signature type, parameterless member function
  16. // (eg: WM_COMMAND, LBN_SELCHANGE, IDC_LISTBOX, AfxSig_vv, ... )
  17. // 2) control notification message range (i.e. in response to WM_COMMAND)
  18. // WM_COMMAND, nNotifyCode, nControlIDFirst, nControlIDLast, signature type, parameterless member function
  19. // (eg: WM_COMMAND, LBN_SELCHANGE, IDC_LISTBOX1, IDC_LISTBOX5, AfxSig_vw, ... )
  20. // 3) WM_NOTIFY notification
  21. // WM_NOTIFY, nNotifyCode, nControlID, nControlID, signature type, ...)
  22. // 3) Update Command UI
  23. // -1, 0, nControlID, 0, signature Unknown, parameterless member function
  24. // 4) Update Command UI Range
  25. // -1, 0, nControlIDFirst, nControlIDLast, signature Unknown, parameterless member function
  26. // 5) menu/accelerator notification message (i.e. special case of first format)
  27. // WM_COMMAND, 0, nID, 0, signature type, parameterless member function
  28. // (eg: WM_COMMAND, 0, IDM_FILESAVE, 0, AfxSig_vv, ... )
  29. // 6) menu/accelerator notification message range
  30. // WM_COMMAND, 0, nIDFirst, nIDLast, signature type, parameterless member function
  31. // (eg: WM_COMMAND, 0, IDM_FILE_MRU1, IDM_FILE_MRU4, AfxSig_vw, ... )
  32. // 7) constant windows message
  33. // nMessage, 0, 0, 0, signature type, member function
  34. // (eg: WM_PAINT, 0, ...)
  35. // 8) variable windows message (using RegisterWindowMessage)
  36. // 0xC000, 0, 0, 0, &nMessage, special member function
  37. //
  38. // The end of the message map is marked with a special value
  39. // 0, 0, AfxSig_end, 0
  40. /////////////////////////////////////////////////////////////////////////////
  41. enum AfxSig
  42. {
  43. AfxSig_end = 0, // [marks end of message map]
  44. AfxSig_bD, // BOOL (CDC*)
  45. AfxSig_bb, // BOOL (BOOL)
  46. AfxSig_bWww, // BOOL (CWnd*, UINT, UINT)
  47. AfxSig_hDWw, // HBRUSH (CDC*, CWnd*, UINT)
  48. AfxSig_hDw, // HBRUSH (CDC*, UINT)
  49. AfxSig_iwWw, // int (UINT, CWnd*, UINT)
  50. AfxSig_iww, // int (UINT, UINT)
  51. AfxSig_iWww, // int (CWnd*, UINT, UINT)
  52. AfxSig_is, // int (LPTSTR)
  53. AfxSig_lwl, // LRESULT (WPARAM, LPARAM)
  54. AfxSig_lwwM, // LRESULT (UINT, UINT, CMenu*)
  55. AfxSig_vv, // void (void)
  56. AfxSig_vw, // void (UINT)
  57. AfxSig_vww, // void (UINT, UINT)
  58. AfxSig_vvii, // void (int, int) // wParam is ignored
  59. AfxSig_vwww, // void (UINT, UINT, UINT)
  60. AfxSig_vwii, // void (UINT, int, int)
  61. AfxSig_vwl, // void (UINT, LPARAM)
  62. AfxSig_vbWW, // void (BOOL, CWnd*, CWnd*)
  63. AfxSig_vD, // void (CDC*)
  64. AfxSig_vM, // void (CMenu*)
  65. AfxSig_vMwb, // void (CMenu*, UINT, BOOL)
  66. AfxSig_vW, // void (CWnd*)
  67. AfxSig_vWww, // void (CWnd*, UINT, UINT)
  68. AfxSig_vWp, // void (CWnd*, CPoint)
  69. AfxSig_vWh, // void (CWnd*, HANDLE)
  70. AfxSig_vwW, // void (UINT, CWnd*)
  71. AfxSig_vwWb, // void (UINT, CWnd*, BOOL)
  72. AfxSig_vwwW, // void (UINT, UINT, CWnd*)
  73. AfxSig_vwwx, // void (UINT, UINT)
  74. AfxSig_vs, // void (LPTSTR)
  75. AfxSig_vOWNER, // void (int, LPTSTR), force return TRUE
  76. AfxSig_iis, // int (int, LPTSTR)
  77. AfxSig_wp, // UINT (CPoint)
  78. AfxSig_wv, // UINT (void)
  79. AfxSig_vPOS, // void (WINDOWPOS*)
  80. AfxSig_vCALC, // void (BOOL, NCCALCSIZE_PARAMS*)
  81. AfxSig_vNMHDRpl, // void (NMHDR*, LRESULT*)
  82. AfxSig_bNMHDRpl, // BOOL (NMHDR*, LRESULT*)
  83. AfxSig_vwNMHDRpl, // void (UINT, NMHDR*, LRESULT*)
  84. AfxSig_bwNMHDRpl, // BOOL (UINT, NMHDR*, LRESULT*)
  85. AfxSig_bHELPINFO, // BOOL (HELPINFO*)
  86. AfxSig_vwSIZING, // void (UINT, LPRECT) -- return TRUE
  87. // signatures specific to CCmdTarget
  88. AfxSig_cmdui, // void (CCmdUI*)
  89. AfxSig_cmduiw, // void (CCmdUI*, UINT)
  90. AfxSig_vpv, // void (void*)
  91. AfxSig_bpv, // BOOL (void*)
  92. // Other aliases (based on implementation)
  93. AfxSig_vwwh, // void (UINT, UINT, HANDLE)
  94. AfxSig_vwp, // void (UINT, CPoint)
  95. AfxSig_bw = AfxSig_bb, // BOOL (UINT)
  96. AfxSig_bh = AfxSig_bb, // BOOL (HANDLE)
  97. AfxSig_iw = AfxSig_bb, // int (UINT)
  98. AfxSig_ww = AfxSig_bb, // UINT (UINT)
  99. AfxSig_bv = AfxSig_wv, // BOOL (void)
  100. AfxSig_hv = AfxSig_wv, // HANDLE (void)
  101. AfxSig_vb = AfxSig_vw, // void (BOOL)
  102. AfxSig_vbh = AfxSig_vww, // void (BOOL, HANDLE)
  103. AfxSig_vbw = AfxSig_vww, // void (BOOL, UINT)
  104. AfxSig_vhh = AfxSig_vww, // void (HANDLE, HANDLE)
  105. AfxSig_vh = AfxSig_vw, // void (HANDLE)
  106. AfxSig_viSS = AfxSig_vwl, // void (int, STYLESTRUCT*)
  107. AfxSig_bwl = AfxSig_lwl,
  108. AfxSig_vwMOVING = AfxSig_vwSIZING, // void (UINT, LPRECT) -- return TRUE
  109. AfxSig_vW2, // void (CWnd*) (CWnd* comes from lParam)
  110. AfxSig_bWCDS, // BOOL (CWnd*, COPYDATASTRUCT*)
  111. AfxSig_bwsp, // BOOL (UINT, short, CPoint)
  112. AfxSig_vws,
  113. };
  114. /////////////////////////////////////////////////////////////////////////////
  115. // Command notifications for CCmdTarget notifications
  116. #define CN_COMMAND 0 // void ()
  117. #define CN_UPDATE_COMMAND_UI ((UINT)(-1)) // void (CCmdUI*)
  118. #define CN_EVENT ((UINT)(-2)) // OLE event
  119. #define CN_OLECOMMAND ((UINT)(-3)) // OLE document command
  120. #define CN_OLE_UNREGISTER ((UINT)(-4)) // OLE unregister
  121. // > 0 are control notifications
  122. // < 0 are for MFC's use
  123. #define ON_COMMAND(id, memberFxn) \
  124. { WM_COMMAND, CN_COMMAND, (WORD)id, (WORD)id, AfxSig_vv, (AFX_PMSG)&memberFxn },
  125. // ON_COMMAND(id, OnFoo) is the same as
  126. // ON_CONTROL(0, id, OnFoo) or ON_BN_CLICKED(0, id, OnFoo)
  127. #define ON_COMMAND_RANGE(id, idLast, memberFxn) \
  128. { WM_COMMAND, CN_COMMAND, (WORD)id, (WORD)idLast, AfxSig_vw, \
  129. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(UINT))&memberFxn },
  130. // ON_COMMAND_RANGE(id, idLast, OnFoo) is the same as
  131. // ON_CONTROL_RANGE(0, id, idLast, OnFoo)
  132. #define ON_COMMAND_EX(id, memberFxn) \
  133. { WM_COMMAND, CN_COMMAND, (WORD)id, (WORD)id, AfxSig_bw, \
  134. (AFX_PMSG)(BOOL (AFX_MSG_CALL CCmdTarget::*)(UINT))&memberFxn },
  135. #define ON_COMMAND_EX_RANGE(id, idLast, memberFxn) \
  136. { WM_COMMAND, CN_COMMAND, (WORD)id, (WORD)idLast, AfxSig_bw, \
  137. (AFX_PMSG)(BOOL (AFX_MSG_CALL CCmdTarget::*)(UINT))&memberFxn },
  138. // update ui's are listed as WM_COMMAND's so they get routed like commands
  139. #define ON_UPDATE_COMMAND_UI(id, memberFxn) \
  140. { WM_COMMAND, CN_UPDATE_COMMAND_UI, (WORD)id, (WORD)id, AfxSig_cmdui, \
  141. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(CCmdUI*))&memberFxn },
  142. #define ON_UPDATE_COMMAND_UI_RANGE(id, idLast, memberFxn) \
  143. { WM_COMMAND, CN_UPDATE_COMMAND_UI, (WORD)id, (WORD)idLast, AfxSig_cmdui, \
  144. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(CCmdUI*))&memberFxn },
  145. #define ON_NOTIFY(wNotifyCode, id, memberFxn) \
  146. { WM_NOTIFY, (WORD)(int)wNotifyCode, (WORD)id, (WORD)id, AfxSig_vNMHDRpl, \
  147. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(NMHDR*, LRESULT*))&memberFxn },
  148. #define ON_NOTIFY_RANGE(wNotifyCode, id, idLast, memberFxn) \
  149. { WM_NOTIFY, (WORD)(int)wNotifyCode, (WORD)id, (WORD)idLast, AfxSig_vwNMHDRpl, \
  150. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(UINT, NMHDR*, LRESULT*))&memberFxn },
  151. #define ON_NOTIFY_EX(wNotifyCode, id, memberFxn) \
  152. { WM_NOTIFY, (WORD)(int)wNotifyCode, (WORD)id, (WORD)id, AfxSig_bwNMHDRpl, \
  153. (AFX_PMSG)(BOOL (AFX_MSG_CALL CCmdTarget::*)(UINT, NMHDR*, LRESULT*))&memberFxn },
  154. #define ON_NOTIFY_EX_RANGE(wNotifyCode, id, idLast, memberFxn) \
  155. { WM_NOTIFY, (WORD)(int)wNotifyCode, (WORD)id, (WORD)idLast, AfxSig_bwNMHDRpl, \
  156. (AFX_PMSG)(BOOL (AFX_MSG_CALL CCmdTarget::*)(UINT, NMHDR*, LRESULT*))&memberFxn },
  157. // for general controls
  158. #define ON_CONTROL(wNotifyCode, id, memberFxn) \
  159. { WM_COMMAND, (WORD)wNotifyCode, (WORD)id, (WORD)id, AfxSig_vv, \
  160. (AFX_PMSG)&memberFxn },
  161. #define ON_CONTROL_RANGE(wNotifyCode, id, idLast, memberFxn) \
  162. { WM_COMMAND, (WORD)wNotifyCode, (WORD)id, (WORD)idLast, AfxSig_vw, \
  163. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(UINT))&memberFxn },
  164. #define WM_REFLECT_BASE 0xBC00
  165. // for control notification reflection
  166. #define ON_CONTROL_REFLECT(wNotifyCode, memberFxn) \
  167. { WM_COMMAND+WM_REFLECT_BASE, (WORD)wNotifyCode, 0, 0, AfxSig_vv, \
  168. (AFX_PMSG)&memberFxn },
  169. #define ON_CONTROL_REFLECT_EX(wNotifyCode, memberFxn) \
  170. { WM_COMMAND+WM_REFLECT_BASE, (WORD)wNotifyCode, 0, 0, AfxSig_bv, \
  171. (AFX_PMSG)(BOOL (AFX_MSG_CALL CCmdTarget::*)())&memberFxn },
  172. #define ON_NOTIFY_REFLECT(wNotifyCode, memberFxn) \
  173. { WM_NOTIFY+WM_REFLECT_BASE, (WORD)(int)wNotifyCode, 0, 0, AfxSig_vNMHDRpl, \
  174. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(NMHDR*, LRESULT*))&memberFxn },
  175. #define ON_NOTIFY_REFLECT_EX(wNotifyCode, memberFxn) \
  176. { WM_NOTIFY+WM_REFLECT_BASE, (WORD)(int)wNotifyCode, 0, 0, AfxSig_bNMHDRpl, \
  177. (AFX_PMSG)(BOOL (AFX_MSG_CALL CCmdTarget::*)(NMHDR*, LRESULT*))&memberFxn },
  178. #define ON_UPDATE_COMMAND_UI_REFLECT(memberFxn) \
  179. { WM_COMMAND+WM_REFLECT_BASE, (WORD)CN_UPDATE_COMMAND_UI, 0, 0, AfxSig_cmdui, \
  180. (AFX_PMSG)(void (AFX_MSG_CALL CCmdTarget::*)(CCmdUI*))&memberFxn },
  181. /////////////////////////////////////////////////////////////////////////////
  182. // Message map tables for Windows messages
  183. #define ON_WM_CREATE() \
  184. { WM_CREATE, 0, 0, 0, AfxSig_is, \
  185. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(LPCREATESTRUCT))&OnCreate },
  186. #define ON_WM_COPYDATA() \
  187. { WM_COPYDATA, 0, 0, 0, AfxSig_bWCDS, \
  188. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(CWnd*, COPYDATASTRUCT*))&OnCopyData },
  189. #define ON_WM_DESTROY() \
  190. { WM_DESTROY, 0, 0, 0, AfxSig_vv, \
  191. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnDestroy },
  192. #define ON_WM_MOVE() \
  193. { WM_MOVE, 0, 0, 0, AfxSig_vvii, \
  194. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(int, int))&OnMove },
  195. #define ON_WM_SIZE() \
  196. { WM_SIZE, 0, 0, 0, AfxSig_vwii, \
  197. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, int, int))&OnSize },
  198. #define ON_WM_ACTIVATE() \
  199. { WM_ACTIVATE, 0, 0, 0, AfxSig_vwWb, \
  200. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CWnd*, BOOL))&OnActivate },
  201. #define ON_WM_SETFOCUS() \
  202. { WM_SETFOCUS, 0, 0, 0, AfxSig_vW, \
  203. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*))&OnSetFocus },
  204. #define ON_WM_KILLFOCUS() \
  205. { WM_KILLFOCUS, 0, 0, 0, AfxSig_vW, \
  206. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*))&OnKillFocus },
  207. #define ON_WM_ENABLE() \
  208. { WM_ENABLE, 0, 0, 0, AfxSig_vb, \
  209. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL))&OnEnable },
  210. #define ON_WM_HELPINFO() \
  211. { WM_HELP, 0, 0, 0, AfxSig_bHELPINFO, \
  212. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(HELPINFO*))&OnHelpInfo },
  213. #define ON_WM_PAINT() \
  214. { WM_PAINT, 0, 0, 0, AfxSig_vv, \
  215. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnPaint },
  216. #define ON_WM_CLOSE() \
  217. { WM_CLOSE, 0, 0, 0, AfxSig_vv, \
  218. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnClose },
  219. #define ON_WM_QUERYENDSESSION() \
  220. { WM_QUERYENDSESSION, 0, 0, 0, AfxSig_bv, \
  221. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(void))&OnQueryEndSession },
  222. #define ON_WM_QUERYOPEN() \
  223. { WM_QUERYOPEN, 0, 0, 0, AfxSig_bv, \
  224. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(void))&OnQueryOpen },
  225. #define ON_WM_ERASEBKGND() \
  226. { WM_ERASEBKGND, 0, 0, 0, AfxSig_bD, \
  227. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(CDC*))&OnEraseBkgnd },
  228. #define ON_WM_SYSCOLORCHANGE() \
  229. { WM_SYSCOLORCHANGE, 0, 0, 0, AfxSig_vv, \
  230. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnSysColorChange },
  231. #define ON_WM_ENDSESSION() \
  232. { WM_ENDSESSION, 0, 0, 0, AfxSig_vb, \
  233. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL))&OnEndSession },
  234. #define ON_WM_SHOWWINDOW() \
  235. { WM_SHOWWINDOW, 0, 0, 0, AfxSig_vbw, \
  236. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL, UINT))&OnShowWindow },
  237. #define ON_WM_CTLCOLOR() \
  238. { WM_CTLCOLOR, 0, 0, 0, AfxSig_hDWw, \
  239. (AFX_PMSG)(AFX_PMSGW)(HBRUSH (AFX_MSG_CALL CWnd::*)(CDC*, CWnd*, UINT))&OnCtlColor },
  240. #define ON_WM_CTLCOLOR_REFLECT() \
  241. { WM_CTLCOLOR+WM_REFLECT_BASE, 0, 0, 0, AfxSig_hDw, \
  242. (AFX_PMSG)(AFX_PMSGW)(HBRUSH (AFX_MSG_CALL CWnd::*)(CDC*, UINT))CtlColor },
  243. #if (WINVER >= 0x0400)
  244. #define ON_WM_SETTINGCHANGE() \
  245. { WM_SETTINGCHANGE, 0, 0, 0, AfxSig_vws, \
  246. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPCTSTR))&OnSettingChange },
  247. #endif
  248. #define ON_WM_WININICHANGE() \
  249. { WM_WININICHANGE, 0, 0, 0, AfxSig_vs, \
  250. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(LPCTSTR))&OnWinIniChange },
  251. #define ON_WM_DEVMODECHANGE() \
  252. { WM_DEVMODECHANGE, 0, 0, 0, AfxSig_vs, \
  253. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(LPTSTR))&OnDevModeChange },
  254. #define ON_WM_ACTIVATEAPP() \
  255. { WM_ACTIVATEAPP, 0, 0, 0, AfxSig_vbh, \
  256. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL, HTASK))&OnActivateApp },
  257. #define ON_WM_FONTCHANGE() \
  258. { WM_FONTCHANGE, 0, 0, 0, AfxSig_vv, \
  259. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnFontChange },
  260. #define ON_WM_TIMECHANGE() \
  261. { WM_TIMECHANGE, 0, 0, 0, AfxSig_vv, \
  262. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnTimeChange },
  263. #define ON_WM_CANCELMODE() \
  264. { WM_CANCELMODE, 0, 0, 0, AfxSig_vv, \
  265. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnCancelMode },
  266. #define ON_WM_SETCURSOR() \
  267. { WM_SETCURSOR, 0, 0, 0, AfxSig_bWww, \
  268. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(CWnd*, UINT, UINT))&OnSetCursor },
  269. #define ON_WM_MOUSEACTIVATE() \
  270. { WM_MOUSEACTIVATE, 0, 0, 0, AfxSig_iWww, \
  271. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(CWnd*, UINT, UINT))&OnMouseActivate },
  272. #define ON_WM_CHILDACTIVATE() \
  273. { WM_CHILDACTIVATE, 0, 0, 0, AfxSig_vv, \
  274. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnChildActivate },
  275. #define ON_WM_GETMINMAXINFO() \
  276. { WM_GETMINMAXINFO, 0, 0, 0, AfxSig_vs, \
  277. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(MINMAXINFO*))&OnGetMinMaxInfo },
  278. #define ON_WM_ICONERASEBKGND() \
  279. { WM_ICONERASEBKGND, 0, 0, 0, AfxSig_vD, \
  280. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CDC*))&OnIconEraseBkgnd },
  281. #define ON_WM_SPOOLERSTATUS() \
  282. { WM_SPOOLERSTATUS, 0, 0, 0, AfxSig_vww, \
  283. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT))&OnSpoolerStatus },
  284. #define ON_WM_DRAWITEM() \
  285. { WM_DRAWITEM, 0, 0, 0, AfxSig_vOWNER, \
  286. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(int, LPDRAWITEMSTRUCT))&OnDrawItem },
  287. #define ON_WM_DRAWITEM_REFLECT() \
  288. { WM_DRAWITEM+WM_REFLECT_BASE, 0, 0, 0, AfxSig_vs, \
  289. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(LPDRAWITEMSTRUCT))DrawItem },
  290. #define ON_WM_MEASUREITEM() \
  291. { WM_MEASUREITEM, 0, 0, 0, AfxSig_vOWNER, \
  292. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(int, LPMEASUREITEMSTRUCT))&OnMeasureItem },
  293. #define ON_WM_MEASUREITEM_REFLECT() \
  294. { WM_MEASUREITEM+WM_REFLECT_BASE, 0, 0, 0, AfxSig_vs, \
  295. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(LPMEASUREITEMSTRUCT))MeasureItem },
  296. #define ON_WM_DELETEITEM() \
  297. { WM_DELETEITEM, 0, 0, 0, AfxSig_vOWNER, \
  298. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(int, LPDELETEITEMSTRUCT))&OnDeleteItem },
  299. #define ON_WM_DELETEITEM_REFLECT() \
  300. { WM_DELETEITEM+WM_REFLECT_BASE, 0, 0, 0, AfxSig_vs, \
  301. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(LPDELETEITEMSTRUCT))DeleteItem },
  302. #define ON_WM_CHARTOITEM() \
  303. { WM_CHARTOITEM, 0, 0, 0, AfxSig_iwWw, \
  304. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(UINT, CListBox*, UINT))&OnCharToItem },
  305. #define ON_WM_CHARTOITEM_REFLECT() \
  306. { WM_CHARTOITEM+WM_REFLECT_BASE, 0, 0, 0, AfxSig_iww, \
  307. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(UINT, UINT))CharToItem },
  308. #define ON_WM_VKEYTOITEM() \
  309. { WM_VKEYTOITEM, 0, 0, 0, AfxSig_iwWw, \
  310. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(UINT, CListBox*, UINT))&OnVKeyToItem },
  311. #define ON_WM_VKEYTOITEM_REFLECT() \
  312. { WM_VKEYTOITEM+WM_REFLECT_BASE, 0, 0, 0, AfxSig_iww, \
  313. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(UINT, UINT))VKeyToItem },
  314. #define ON_WM_QUERYDRAGICON() \
  315. { WM_QUERYDRAGICON, 0, 0, 0, AfxSig_hv, \
  316. (AFX_PMSG)(AFX_PMSGW)(HCURSOR (AFX_MSG_CALL CWnd::*)())&OnQueryDragIcon },
  317. #define ON_WM_COMPAREITEM() \
  318. { WM_COMPAREITEM, 0, 0, 0, AfxSig_iis, \
  319. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(int, LPCOMPAREITEMSTRUCT))&OnCompareItem },
  320. #define ON_WM_COMPAREITEM_REFLECT() \
  321. { WM_COMPAREITEM+WM_REFLECT_BASE, 0, 0, 0, AfxSig_is, \
  322. (AFX_PMSG)(AFX_PMSGW)(int (AFX_MSG_CALL CWnd::*)(LPCOMPAREITEMSTRUCT))CompareItem },
  323. #define ON_WM_COMPACTING() \
  324. { WM_COMPACTING, 0, 0, 0, AfxSig_vw, \
  325. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT))&OnCompacting },
  326. #define ON_WM_NCCREATE() \
  327. { WM_NCCREATE, 0, 0, 0, AfxSig_is, \
  328. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(LPCREATESTRUCT))&OnNcCreate },
  329. #define ON_WM_NCDESTROY() \
  330. { WM_NCDESTROY, 0, 0, 0, AfxSig_vv, \
  331. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnNcDestroy },
  332. #define ON_WM_NCCALCSIZE() \
  333. { WM_NCCALCSIZE, 0, 0, 0, AfxSig_vCALC, \
  334. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL, NCCALCSIZE_PARAMS*))&OnNcCalcSize },
  335. #define ON_WM_NCHITTEST() \
  336. { WM_NCHITTEST, 0, 0, 0, AfxSig_wp, \
  337. (AFX_PMSG)(AFX_PMSGW)(UINT (AFX_MSG_CALL CWnd::*)(CPoint))&OnNcHitTest },
  338. #define ON_WM_NCPAINT() \
  339. { WM_NCPAINT, 0, 0, 0, AfxSig_vv, \
  340. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnNcPaint },
  341. #define ON_WM_NCACTIVATE() \
  342. { WM_NCACTIVATE, 0, 0, 0, AfxSig_bb, \
  343. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(BOOL))&OnNcActivate },
  344. #define ON_WM_GETDLGCODE() \
  345. { WM_GETDLGCODE, 0, 0, 0, AfxSig_wv, \
  346. (AFX_PMSG)(AFX_PMSGW)(UINT (AFX_MSG_CALL CWnd::*)(void))&OnGetDlgCode },
  347. #define ON_WM_NCMOUSEMOVE() \
  348. { WM_NCMOUSEMOVE, 0, 0, 0, AfxSig_vwp, \
  349. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcMouseMove },
  350. #define ON_WM_NCLBUTTONDOWN() \
  351. { WM_NCLBUTTONDOWN, 0, 0, 0, AfxSig_vwp, \
  352. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcLButtonDown },
  353. #define ON_WM_NCLBUTTONUP() \
  354. { WM_NCLBUTTONUP, 0, 0, 0, AfxSig_vwp, \
  355. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcLButtonUp },
  356. #define ON_WM_NCLBUTTONDBLCLK() \
  357. { WM_NCLBUTTONDBLCLK, 0, 0, 0, AfxSig_vwp, \
  358. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcLButtonDblClk },
  359. #define ON_WM_NCRBUTTONDOWN() \
  360. { WM_NCRBUTTONDOWN, 0, 0, 0, AfxSig_vwp, \
  361. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcRButtonDown },
  362. #define ON_WM_NCRBUTTONUP() \
  363. { WM_NCRBUTTONUP, 0, 0, 0, AfxSig_vwp, \
  364. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcRButtonUp },
  365. #define ON_WM_NCRBUTTONDBLCLK() \
  366. { WM_NCRBUTTONDBLCLK, 0, 0, 0, AfxSig_vwp, \
  367. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcRButtonDblClk },
  368. #define ON_WM_NCMBUTTONDOWN() \
  369. { WM_NCMBUTTONDOWN, 0, 0, 0, AfxSig_vwp, \
  370. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcMButtonDown },
  371. #define ON_WM_NCMBUTTONUP() \
  372. { WM_NCMBUTTONUP, 0, 0, 0, AfxSig_vwp, \
  373. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcMButtonUp },
  374. #define ON_WM_NCMBUTTONDBLCLK() \
  375. { WM_NCMBUTTONDBLCLK, 0, 0, 0, AfxSig_vwp, \
  376. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnNcMButtonDblClk },
  377. #define ON_WM_KEYDOWN() \
  378. { WM_KEYDOWN, 0, 0, 0, AfxSig_vwww, \
  379. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnKeyDown },
  380. #define ON_WM_KEYUP() \
  381. { WM_KEYUP, 0, 0, 0, AfxSig_vwww, \
  382. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnKeyUp },
  383. #define ON_WM_CHAR() \
  384. { WM_CHAR, 0, 0, 0, AfxSig_vwww, \
  385. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnChar },
  386. #define ON_WM_DEADCHAR() \
  387. { WM_DEADCHAR, 0, 0, 0, AfxSig_vwww, \
  388. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnDeadChar },
  389. #define ON_WM_SYSKEYDOWN() \
  390. { WM_SYSKEYDOWN, 0, 0, 0, AfxSig_vwww, \
  391. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnSysKeyDown },
  392. #define ON_WM_SYSKEYUP() \
  393. { WM_SYSKEYUP, 0, 0, 0, AfxSig_vwww, \
  394. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnSysKeyUp },
  395. #define ON_WM_SYSCHAR() \
  396. { WM_SYSCHAR, 0, 0, 0, AfxSig_vwww, \
  397. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnSysChar },
  398. #define ON_WM_SYSDEADCHAR() \
  399. { WM_SYSDEADCHAR, 0, 0, 0, AfxSig_vwww, \
  400. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, UINT))&OnSysDeadChar },
  401. #define ON_WM_SYSCOMMAND() \
  402. { WM_SYSCOMMAND, 0, 0, 0, AfxSig_vwl, \
  403. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPARAM))&OnSysCommand },
  404. #define ON_WM_TCARD() \
  405. { WM_TCARD, 0, 0, 0, AfxSig_vwl, \
  406. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, DWORD))&OnTCard },
  407. #define ON_WM_TIMER() \
  408. { WM_TIMER, 0, 0, 0, AfxSig_vw, \
  409. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT_PTR))&OnTimer },
  410. #define ON_WM_HSCROLL() \
  411. { WM_HSCROLL, 0, 0, 0, AfxSig_vwwW, \
  412. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, CScrollBar*))&OnHScroll },
  413. #define ON_WM_HSCROLL_REFLECT() \
  414. { WM_HSCROLL+WM_REFLECT_BASE, 0, 0, 0, AfxSig_vwwx, \
  415. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT))HScroll },
  416. #define ON_WM_VSCROLL() \
  417. { WM_VSCROLL, 0, 0, 0, AfxSig_vwwW, \
  418. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, CScrollBar*))&OnVScroll },
  419. #define ON_WM_VSCROLL_REFLECT() \
  420. { WM_VSCROLL+WM_REFLECT_BASE, 0, 0, 0, AfxSig_vwwx, \
  421. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT))VScroll },
  422. #define ON_WM_INITMENU() \
  423. { WM_INITMENU, 0, 0, 0, AfxSig_vM, \
  424. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CMenu*))&OnInitMenu },
  425. #define ON_WM_INITMENUPOPUP() \
  426. { WM_INITMENUPOPUP, 0, 0, 0, AfxSig_vMwb, \
  427. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CMenu*, UINT, BOOL))&OnInitMenuPopup },
  428. #define ON_WM_MENUSELECT() \
  429. { WM_MENUSELECT, 0, 0, 0, AfxSig_vwwh, \
  430. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, UINT, HMENU))&OnMenuSelect },
  431. #define ON_WM_MENUCHAR() \
  432. { WM_MENUCHAR, 0, 0, 0, AfxSig_lwwM, \
  433. (AFX_PMSG)(AFX_PMSGW)(LRESULT (AFX_MSG_CALL CWnd::*)(UINT, UINT, CMenu*))&OnMenuChar },
  434. #define ON_WM_ENTERIDLE() \
  435. { WM_ENTERIDLE, 0, 0, 0, AfxSig_vwW, \
  436. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CWnd*))&OnEnterIdle },
  437. #define ON_WM_MOUSEMOVE() \
  438. { WM_MOUSEMOVE, 0, 0, 0, AfxSig_vwp, \
  439. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnMouseMove },
  440. #define ON_WM_MOUSEWHEEL() \
  441. { WM_MOUSEWHEEL, 0, 0, 0, AfxSig_bwsp, \
  442. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(UINT, short, CPoint))&OnMouseWheel },
  443. #define ON_WM_LBUTTONDOWN() \
  444. { WM_LBUTTONDOWN, 0, 0, 0, AfxSig_vwp, \
  445. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnLButtonDown },
  446. #define ON_WM_LBUTTONUP() \
  447. { WM_LBUTTONUP, 0, 0, 0, AfxSig_vwp, \
  448. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnLButtonUp },
  449. #define ON_WM_LBUTTONDBLCLK() \
  450. { WM_LBUTTONDBLCLK, 0, 0, 0, AfxSig_vwp, \
  451. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnLButtonDblClk },
  452. #define ON_WM_RBUTTONDOWN() \
  453. { WM_RBUTTONDOWN, 0, 0, 0, AfxSig_vwp, \
  454. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnRButtonDown },
  455. #define ON_WM_RBUTTONUP() \
  456. { WM_RBUTTONUP, 0, 0, 0, AfxSig_vwp, \
  457. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnRButtonUp },
  458. #define ON_WM_RBUTTONDBLCLK() \
  459. { WM_RBUTTONDBLCLK, 0, 0, 0, AfxSig_vwp, \
  460. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnRButtonDblClk },
  461. #define ON_WM_MBUTTONDOWN() \
  462. { WM_MBUTTONDOWN, 0, 0, 0, AfxSig_vwp, \
  463. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnMButtonDown },
  464. #define ON_WM_MBUTTONUP() \
  465. { WM_MBUTTONUP, 0, 0, 0, AfxSig_vwp, \
  466. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnMButtonUp },
  467. #define ON_WM_MBUTTONDBLCLK() \
  468. { WM_MBUTTONDBLCLK, 0, 0, 0, AfxSig_vwp, \
  469. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, CPoint))&OnMButtonDblClk },
  470. #define ON_WM_PARENTNOTIFY() \
  471. { WM_PARENTNOTIFY, 0, 0, 0, AfxSig_vwl, \
  472. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPARAM))&OnParentNotify },
  473. #define ON_WM_PARENTNOTIFY_REFLECT() \
  474. { WM_PARENTNOTIFY+WM_REFLECT_BASE, 0, 0, 0, AfxSig_vwl, \
  475. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPARAM))ParentNotify },
  476. #define ON_WM_MDIACTIVATE() \
  477. { WM_MDIACTIVATE, 0, 0, 0, AfxSig_vbWW, \
  478. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL, CWnd*, CWnd*))&OnMDIActivate },
  479. #define ON_WM_RENDERFORMAT() \
  480. { WM_RENDERFORMAT, 0, 0, 0, AfxSig_vw, \
  481. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT))&OnRenderFormat },
  482. #define ON_WM_RENDERALLFORMATS() \
  483. { WM_RENDERALLFORMATS, 0, 0, 0, AfxSig_vv, \
  484. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnRenderAllFormats },
  485. #define ON_WM_DESTROYCLIPBOARD() \
  486. { WM_DESTROYCLIPBOARD, 0, 0, 0, AfxSig_vv, \
  487. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnDestroyClipboard },
  488. #define ON_WM_DRAWCLIPBOARD() \
  489. { WM_DRAWCLIPBOARD, 0, 0, 0, AfxSig_vv, \
  490. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(void))&OnDrawClipboard },
  491. #define ON_WM_PAINTCLIPBOARD() \
  492. { WM_PAINTCLIPBOARD, 0, 0, 0, AfxSig_vWh, \
  493. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*, HGLOBAL))&OnPaintClipboard },
  494. #define ON_WM_VSCROLLCLIPBOARD() \
  495. { WM_VSCROLLCLIPBOARD, 0, 0, 0, AfxSig_vWww, \
  496. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*, UINT, UINT))&OnVScrollClipboard },
  497. #define ON_WM_CONTEXTMENU() \
  498. { WM_CONTEXTMENU, 0, 0, 0, AfxSig_vWp, \
  499. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*, CPoint))&OnContextMenu },
  500. #define ON_WM_SIZECLIPBOARD() \
  501. { WM_SIZECLIPBOARD, 0, 0, 0, AfxSig_vWh, \
  502. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*, HGLOBAL))&OnSizeClipboard },
  503. #define ON_WM_ASKCBFORMATNAME() \
  504. { WM_ASKCBFORMATNAME, 0, 0, 0, AfxSig_vwl, \
  505. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPTSTR))&OnAskCbFormatName },
  506. #define ON_WM_CHANGECBCHAIN() \
  507. { WM_CHANGECBCHAIN, 0, 0, 0, AfxSig_vhh, \
  508. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(HWND, HWND))&OnChangeCbChain },
  509. #define ON_WM_HSCROLLCLIPBOARD() \
  510. { WM_HSCROLLCLIPBOARD, 0, 0, 0, AfxSig_vWww, \
  511. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*, UINT, UINT))&OnHScrollClipboard },
  512. #define ON_WM_QUERYNEWPALETTE() \
  513. { WM_QUERYNEWPALETTE, 0, 0, 0, AfxSig_bv, \
  514. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(void))&OnQueryNewPalette },
  515. #define ON_WM_PALETTECHANGED() \
  516. { WM_PALETTECHANGED, 0, 0, 0, AfxSig_vW, \
  517. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*))&OnPaletteChanged },
  518. #define ON_WM_PALETTEISCHANGING() \
  519. { WM_PALETTEISCHANGING, 0, 0, 0, AfxSig_vW, \
  520. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*))&OnPaletteIsChanging },
  521. #define ON_WM_DROPFILES() \
  522. { WM_DROPFILES, 0, 0, 0, AfxSig_vh, \
  523. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(HDROP))&OnDropFiles },
  524. #define ON_WM_WINDOWPOSCHANGING() \
  525. { WM_WINDOWPOSCHANGING, 0, 0, 0, AfxSig_vPOS, \
  526. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(WINDOWPOS*))&OnWindowPosChanging },
  527. #define ON_WM_WINDOWPOSCHANGED() \
  528. { WM_WINDOWPOSCHANGED, 0, 0, 0, AfxSig_vPOS, \
  529. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(WINDOWPOS*))&OnWindowPosChanged },
  530. #define ON_WM_EXITMENULOOP() \
  531. { WM_EXITMENULOOP, 0, 0, 0, AfxSig_vb, \
  532. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL))&OnExitMenuLoop },
  533. #define ON_WM_ENTERMENULOOP() \
  534. { WM_ENTERMENULOOP, 0, 0, 0, AfxSig_vb, \
  535. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(BOOL))&OnEnterMenuLoop },
  536. #define ON_WM_STYLECHANGED() \
  537. { WM_STYLECHANGED, 0, 0, 0, AfxSig_viSS, \
  538. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(int, LPSTYLESTRUCT))&OnStyleChanged },
  539. #define ON_WM_STYLECHANGING() \
  540. { WM_STYLECHANGING, 0, 0, 0, AfxSig_viSS, \
  541. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(int, LPSTYLESTRUCT))&OnStyleChanging },
  542. #define ON_WM_SIZING() \
  543. { WM_SIZING, 0, 0, 0, AfxSig_vwSIZING, \
  544. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPRECT))&OnSizing },
  545. #define ON_WM_MOVING() \
  546. { WM_MOVING, 0, 0, 0, AfxSig_vwMOVING, \
  547. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(UINT, LPRECT))&OnMoving },
  548. #define ON_WM_CAPTURECHANGED() \
  549. { WM_CAPTURECHANGED, 0, 0, 0, AfxSig_vW2, \
  550. (AFX_PMSG)(AFX_PMSGW)(void (AFX_MSG_CALL CWnd::*)(CWnd*))&OnCaptureChanged },
  551. #define ON_WM_DEVICECHANGE() \
  552. { WM_DEVICECHANGE, 0, 0, 0, AfxSig_bwl, \
  553. (AFX_PMSG)(AFX_PMSGW)(BOOL (AFX_MSG_CALL CWnd::*)(UINT, DWORD_PTR))&OnDeviceChange },
  554. /////////////////////////////////////////////////////////////////////////////
  555. // Message map tables for Control Notification messages
  556. // Static control notification codes
  557. #define ON_STN_CLICKED(id, memberFxn) \
  558. ON_CONTROL(STN_CLICKED, id, memberFxn)
  559. #define ON_STN_DBLCLK(id, memberFxn) \
  560. ON_CONTROL(STN_DBLCLK, id, memberFxn)
  561. #define ON_STN_ENABLE(id, memberFxn) \
  562. ON_CONTROL(STN_ENABLE, id, memberFxn)
  563. #define ON_STN_DISABLE(id, memberFxn) \
  564. ON_CONTROL(STN_DISABLE, id, memberFxn)
  565. // Edit Control Notification Codes
  566. #define ON_EN_SETFOCUS(id, memberFxn) \
  567. ON_CONTROL(EN_SETFOCUS, id, memberFxn)
  568. #define ON_EN_KILLFOCUS(id, memberFxn) \
  569. ON_CONTROL(EN_KILLFOCUS, id, memberFxn)
  570. #define ON_EN_CHANGE(id, memberFxn) \
  571. ON_CONTROL(EN_CHANGE, id, memberFxn)
  572. #define ON_EN_UPDATE(id, memberFxn) \
  573. ON_CONTROL(EN_UPDATE, id, memberFxn)
  574. #define ON_EN_ERRSPACE(id, memberFxn) \
  575. ON_CONTROL(EN_ERRSPACE, id, memberFxn)
  576. #define ON_EN_MAXTEXT(id, memberFxn) \
  577. ON_CONTROL(EN_MAXTEXT, id, memberFxn)
  578. #define ON_EN_HSCROLL(id, memberFxn) \
  579. ON_CONTROL(EN_HSCROLL, id, memberFxn)
  580. #define ON_EN_VSCROLL(id, memberFxn) \
  581. ON_CONTROL(EN_VSCROLL, id, memberFxn)
  582. // User Button Notification Codes
  583. #define ON_BN_CLICKED(id, memberFxn) \
  584. ON_CONTROL(BN_CLICKED, id, memberFxn)
  585. #define ON_BN_DOUBLECLICKED(id, memberFxn) \
  586. ON_CONTROL(BN_DOUBLECLICKED, id, memberFxn)
  587. #define ON_BN_SETFOCUS(id, memberFxn) \
  588. ON_CONTROL(BN_SETFOCUS, id, memberFxn)
  589. #define ON_BN_KILLFOCUS(id, memberFxn) \
  590. ON_CONTROL(BN_KILLFOCUS, id, memberFxn)
  591. // old BS_USERBUTTON button notifications - obsolete in Win31
  592. #define ON_BN_PAINT(id, memberFxn) \
  593. ON_CONTROL(BN_PAINT, id, memberFxn)
  594. #define ON_BN_HILITE(id, memberFxn) \
  595. ON_CONTROL(BN_HILITE, id, memberFxn)
  596. #define ON_BN_UNHILITE(id, memberFxn) \
  597. ON_CONTROL(BN_UNHILITE, id, memberFxn)
  598. #define ON_BN_DISABLE(id, memberFxn) \
  599. ON_CONTROL(BN_DISABLE, id, memberFxn)
  600. // Listbox Notification Codes
  601. #define ON_LBN_ERRSPACE(id, memberFxn) \
  602. ON_CONTROL(LBN_ERRSPACE, id, memberFxn)
  603. #define ON_LBN_SELCHANGE(id, memberFxn) \
  604. ON_CONTROL(LBN_SELCHANGE, id, memberFxn)
  605. #define ON_LBN_DBLCLK(id, memberFxn) \
  606. ON_CONTROL(LBN_DBLCLK, id, memberFxn)
  607. #define ON_LBN_SELCANCEL(id, memberFxn) \
  608. ON_CONTROL(LBN_SELCANCEL, id, memberFxn)
  609. #define ON_LBN_SETFOCUS(id, memberFxn) \
  610. ON_CONTROL(LBN_SETFOCUS, id, memberFxn)
  611. #define ON_LBN_KILLFOCUS(id, memberFxn) \
  612. ON_CONTROL(LBN_KILLFOCUS, id, memberFxn)
  613. // Check Listbox Notification codes
  614. #define CLBN_CHKCHANGE (40)
  615. #define ON_CLBN_CHKCHANGE(id, memberFxn) \
  616. ON_CONTROL(CLBN_CHKCHANGE, id, memberFxn)
  617. // Combo Box Notification Codes
  618. #define ON_CBN_ERRSPACE(id, memberFxn) \
  619. ON_CONTROL(CBN_ERRSPACE, id, memberFxn)
  620. #define ON_CBN_SELCHANGE(id, memberFxn) \
  621. ON_CONTROL(CBN_SELCHANGE, id, memberFxn)
  622. #define ON_CBN_DBLCLK(id, memberFxn) \
  623. ON_CONTROL(CBN_DBLCLK, id, memberFxn)
  624. #define ON_CBN_SETFOCUS(id, memberFxn) \
  625. ON_CONTROL(CBN_SETFOCUS, id, memberFxn)
  626. #define ON_CBN_KILLFOCUS(id, memberFxn) \
  627. ON_CONTROL(CBN_KILLFOCUS, id, memberFxn)
  628. #define ON_CBN_EDITCHANGE(id, memberFxn) \
  629. ON_CONTROL(CBN_EDITCHANGE, id, memberFxn)
  630. #define ON_CBN_EDITUPDATE(id, memberFxn) \
  631. ON_CONTROL(CBN_EDITUPDATE, id, memberFxn)
  632. #define ON_CBN_DROPDOWN(id, memberFxn) \
  633. ON_CONTROL(CBN_DROPDOWN, id, memberFxn)
  634. #define ON_CBN_CLOSEUP(id, memberFxn) \
  635. ON_CONTROL(CBN_CLOSEUP, id, memberFxn)
  636. #define ON_CBN_SELENDOK(id, memberFxn) \
  637. ON_CONTROL(CBN_SELENDOK, id, memberFxn)
  638. #define ON_CBN_SELENDCANCEL(id, memberFxn) \
  639. ON_CONTROL(CBN_SELENDCANCEL, id, memberFxn)
  640. /////////////////////////////////////////////////////////////////////////////
  641. // User extensions for message map entries
  642. // for Windows messages
  643. #define ON_MESSAGE(message, memberFxn) \
  644. { message, 0, 0, 0, AfxSig_lwl, \
  645. (AFX_PMSG)(AFX_PMSGW)(LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM))&memberFxn },
  646. // for Registered Windows messages
  647. #define ON_REGISTERED_MESSAGE(nMessageVariable, memberFxn) \
  648. { 0xC000, 0, 0, 0, (UINT_PTR)(UINT*)(&nMessageVariable), \
  649. /*implied 'AfxSig_lwl'*/ \
  650. (AFX_PMSG)(AFX_PMSGW)(LRESULT (AFX_MSG_CALL CWnd::*)(WPARAM, LPARAM))&memberFxn },
  651. // for Thread messages
  652. #define ON_THREAD_MESSAGE(message, memberFxn) \
  653. { message, 0, 0, 0, AfxSig_vwl, \
  654. (AFX_PMSG)(AFX_PMSGT)(void (AFX_MSG_CALL CWinThread::*)(WPARAM, LPARAM))&memberFxn },
  655. // for Registered Windows messages
  656. #define ON_REGISTERED_THREAD_MESSAGE(nMessageVariable, memberFxn) \
  657. { 0xC000, 0, 0, 0, (UINT_PTR)(UINT*)(&nMessageVariable), \
  658. /*implied 'AfxSig_vwl'*/ \
  659. (AFX_PMSG)(AFX_PMSGT)(void (AFX_MSG_CALL CWinThread::*)(WPARAM, LPARAM))&memberFxn },
  660. /////////////////////////////////////////////////////////////////////////////