|
|
1.1 root 1: /*****************************************************************************\
2: * *
3: * windowsx.h - Macro APIs, window message crackers, and control APIs *
4: * *
5: * Version Win32 / Windows NT *
6: * *
1.1.1.3 ! root 7: * Copyright (c) 1992-1993, Microsoft Corp. All rights reserved.*
1.1 root 8: * *
9: \*****************************************************************************/
10:
11: #ifndef _INC_WINDOWSX
12: #define _INC_WINDOWSX
13:
14: #ifdef __cplusplus
15: extern "C" { /* Assume C declarations for C++ */
16: #endif /* __cplusplus */
17:
18: /****** KERNEL Macro APIs ****************************************************/
19:
20: #define GetInstanceModule(hInstance) (HMODULE)(hInstance)
21:
22: #define GlobalPtrHandle(lp) \
23: ((HGLOBAL)GlobalHandle(lp))
24:
25: #define GlobalLockPtr(lp) \
26: ((BOOL)GlobalLock(GlobalPtrHandle(lp)))
27: #define GlobalUnlockPtr(lp) \
28: GlobalUnlock(GlobalPtrHandle(lp))
29:
30: #define GlobalAllocPtr(flags, cb) \
31: (GlobalLock(GlobalAlloc((flags), (cb))))
32: #define GlobalReAllocPtr(lp, cbNew, flags) \
33: (GlobalUnlockPtr(lp), GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) , (cbNew), (flags))))
34: #define GlobalFreePtr(lp) \
35: (GlobalUnlockPtr(lp), (BOOL)GlobalFree(GlobalPtrHandle(lp)))
36:
37: /****** GDI Macro APIs *******************************************************/
38:
39: #define DeletePen(hpen) DeleteObject((HGDIOBJ)(HPEN)(hpen))
40: #define SelectPen(hdc, hpen) ((HPEN)SelectObject((hdc), (HGDIOBJ)(HPEN)(hpen)))
41: #define GetStockPen(i) ((HPEN)GetStockObject(i))
42:
43: #define DeleteBrush(hbr) DeleteObject((HGDIOBJ)(HBRUSH)(hbr))
44: #define SelectBrush(hdc, hbr) ((HBRUSH)SelectObject((hdc), (HGDIOBJ)(HBRUSH)(hbr)))
45: #define GetStockBrush(i) ((HBRUSH)GetStockObject(i))
46:
47: #define DeleteRgn(hrgn) DeleteObject((HGDIOBJ)(HRGN)(hrgn))
48:
49: #define CopyRgn(hrgnDst, hrgnSrc) CombineRgn(hrgnDst, hrgnSrc, 0, RGN_COPY)
50: #define IntersectRgn(hrgnResult, hrgnA, hrgnB) CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_AND)
51: #define SubtractRgn(hrgnResult, hrgnA, hrgnB) CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_DIFF)
52: #define UnionRgn(hrgnResult, hrgnA, hrgnB) CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_OR)
53: #define XorRgn(hrgnResult, hrgnA, hrgnB) CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_XOR)
54:
55: #define DeletePalette(hpal) DeleteObject((HGDIOBJ)(HPALETTE)(hpal))
56:
57: #define DeleteFont(hfont) DeleteObject((HGDIOBJ)(HFONT)(hfont))
58: #define SelectFont(hdc, hfont) ((HFONT)SelectObject((hdc), (HGDIOBJ)(HFONT)(hfont)))
59: #define GetStockFont(i) ((HFONT)GetStockObject(i))
60:
61: #define DeleteBitmap(hbm) DeleteObject((HGDIOBJ)(HBITMAP)(hbm))
62: #define SelectBitmap(hdc, hbm) ((HBITMAP)SelectObject((hdc), (HGDIOBJ)(HBITMAP)(hbm)))
63:
64: #define InsetRect(lprc, dx, dy) InflateRect((lprc), -(dx), -(dy))
65:
66: /****** USER Macro APIs ******************************************************/
67:
1.1.1.2 root 68: #define GetWindowInstance(hwnd) ((HMODULE)GetWindowLong(hwnd, GWL_HINSTANCE))
1.1 root 69:
70: #define GetWindowStyle(hwnd) ((DWORD)GetWindowLong(hwnd, GWL_STYLE))
71: #define GetWindowExStyle(hwnd) ((DWORD)GetWindowLong(hwnd, GWL_EXSTYLE))
72:
73: #define GetWindowOwner(hwnd) GetWindow(hwnd, GW_OWNER)
74:
75: #define GetFirstChild(hwnd) GetTopWindow(hwnd)
76: #define GetFirstSibling(hwnd) GetWindow(hwnd, GW_HWNDFIRST)
77: #define GetLastSibling(hwnd) GetWindow(hwnd, GW_HWNDLAST)
78: #define GetNextSibling(hwnd) GetWindow(hwnd, GW_HWNDNEXT)
79: #define GetPrevSibling(hwnd) GetWindow(hwnd, GW_HWNDPREV)
80:
81: #define GetWindowID(hwnd) GetDlgCtrlID(hwnd)
82:
83: #define SetWindowRedraw(hwnd, fRedraw) \
84: ((void)SendMessage(hwnd, WM_SETREDRAW, (WPARAM)(BOOL)(fRedraw), 0L))
85:
86: #define SubclassWindow(hwnd, lpfn) \
87: ((WNDPROC)SetWindowLong((hwnd), GWL_WNDPROC, (LPARAM)(WNDPROC)(lpfn)))
88:
89: #define IsMinimized(hwnd) IsIconic(hwnd)
90: #define IsMaximized(hwnd) IsZoomed(hwnd)
91: #define IsRestored(hwnd) ((GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE)) == 0L)
92:
93: #define SetWindowFont(hwnd, hfont, fRedraw) FORWARD_WM_SETFONT((hwnd), (hfont), (fRedraw), SendMessage)
94:
95: #define GetWindowFont(hwnd) FORWARD_WM_GETFONT((hwnd), SendMessage)
96: #if (WINVER >= 0x030a)
97: #define MapWindowRect(hwndFrom, hwndTo, lprc) \
98: MapWindowPoints((hwndFrom), (hwndTo), (POINT *)(lprc), 2)
99: #endif
100: #define IsLButtonDown() (GetKeyState(VK_LBUTTON) < 0)
101: #define IsRButtonDown() (GetKeyState(VK_RBUTTON) < 0)
102: #define IsMButtonDown() (GetKeyState(VK_MBUTTON) < 0)
103:
104: #define SubclassDialog(hwndDlg, lpfn) \
105: ((DLGPROC)SetWindowLong(hwndDlg, DWL_DLGPROC, (LPARAM)(DLGPROC)(lpfn)))
106:
107: #define SetDlgMsgResult(hwnd, msg, result) (( \
108: (msg) == WM_CTLCOLORMSGBOX || \
109: (msg) == WM_CTLCOLOREDIT || \
110: (msg) == WM_CTLCOLORLISTBOX || \
111: (msg) == WM_CTLCOLORBTN || \
112: (msg) == WM_CTLCOLORDLG || \
113: (msg) == WM_CTLCOLORSCROLLBAR || \
114: (msg) == WM_CTLCOLORSTATIC || \
115: (msg) == WM_COMPAREITEM || \
116: (msg) == WM_VKEYTOITEM || \
117: (msg) == WM_CHARTOITEM || \
118: (msg) == WM_QUERYDRAGICON || \
119: (msg) == WM_INITDIALOG \
120: ) ? (BOOL)(result) : (SetWindowLong((hwnd), DWL_MSGRESULT, (LPARAM)(LRESULT)(result)), TRUE))
121:
122: #define DefDlgProcEx(hwnd, msg, wParam, lParam, pfRecursion) \
123: (*(pfRecursion) = TRUE, DefDlgProc(hwnd, msg, wParam, lParam))
124:
125: #define CheckDefDlgRecursion(pfRecursion) \
126: if (*(pfRecursion)) { *(pfRecursion) = FALSE; return FALSE; }
127:
128: /****** Message crackers ****************************************************/
129:
130: #define HANDLE_MSG(hwnd, message, fn) \
131: case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))
132:
1.1.1.3 ! root 133: /* void Cls_OnCompacting(HWND hwnd, UINT compactRatio) */
1.1 root 134: #define HANDLE_WM_COMPACTING(hwnd, wParam, lParam, fn) \
135: ((fn)((hwnd), (UINT)(wParam)), 0L)
136: #define FORWARD_WM_COMPACTING(hwnd, compactRatio, fn) \
137: (void)(fn)((hwnd), WM_COMPACTING, (WPARAM)(UINT)(compactRatio), 0L)
138:
1.1.1.3 ! root 139: /* void Cls_OnWinIniChange(HWND hwnd, LPCTSTR lpszSectionName) */
1.1 root 140: #define HANDLE_WM_WININICHANGE(hwnd, wParam, lParam, fn) \
141: ((fn)((hwnd), (LPCTSTR)(lParam)), 0L)
142: #define FORWARD_WM_WININICHANGE(hwnd, lpszSectionName, fn) \
1.1.1.3 ! root 143: (void)(fn)((hwnd), WM_WININICHANGE, 0L, (LPARAM)(LPCTSTR)(lpszSectionName))
1.1 root 144:
1.1.1.3 ! root 145: /* void Cls_OnSysColorChange(HWND hwnd) */
1.1 root 146: #define HANDLE_WM_SYSCOLORCHANGE(hwnd, wParam, lParam, fn) \
147: ((fn)(hwnd), 0L)
148: #define FORWARD_WM_SYSCOLORCHANGE(hwnd, fn) \
1.1.1.3 ! root 149: (void)(fn)((hwnd), WM_SYSCOLORCHANGE, 0L, 0L)
1.1 root 150:
1.1.1.3 ! root 151: /* BOOL Cls_OnQueryNewPalette(HWND hwnd) */
1.1 root 152: #define HANDLE_WM_QUERYNEWPALETTE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 153: MAKELRESULT((BOOL)(fn)(hwnd), 0L)
1.1 root 154: #define FORWARD_WM_QUERYNEWPALETTE(hwnd, fn) \
1.1.1.3 ! root 155: (BOOL)(DWORD)(fn)((hwnd), WM_QUERYNEWPALETTE, 0L, 0L)
1.1 root 156:
1.1.1.3 ! root 157: /* void Cls_OnPaletteIsChanging(HWND hwnd, HWND hwndPaletteChange) */
1.1 root 158: #define HANDLE_WM_PALETTEISCHANGING(hwnd, wParam, lParam, fn) \
159: ((fn)((hwnd), (HWND)(wParam)), 0L)
160: #define FORWARD_WM_PALETTEISCHANGING(hwnd, hwndPaletteChange, fn) \
161: (void)(fn)((hwnd), WM_PALETTEISCHANGING, (WPARAM)(HWND)(hwndPaletteChange), 0L)
162:
1.1.1.3 ! root 163: /* void Cls_OnPaletteChanged(HWND hwnd, HWND hwndPaletteChange) */
1.1 root 164: #define HANDLE_WM_PALETTECHANGED(hwnd, wParam, lParam, fn) \
165: ((fn)((hwnd), (HWND)(wParam)), 0L)
166: #define FORWARD_WM_PALETTECHANGED(hwnd, hwndPaletteChange, fn) \
167: (void)(fn)((hwnd), WM_PALETTECHANGED, (WPARAM)(HWND)(hwndPaletteChange), 0L)
168:
1.1.1.3 ! root 169: /* void Cls_OnFontChange(HWND hwnd) */
1.1 root 170: #define HANDLE_WM_FONTCHANGE(hwnd, wParam, lParam, fn) \
171: ((fn)(hwnd), 0L)
172: #define FORWARD_WM_FONTCHANGE(hwnd, fn) \
1.1.1.3 ! root 173: (void)(fn)((hwnd), WM_FONTCHANGE, 0L, 0L)
1.1 root 174:
1.1.1.3 ! root 175: /* void Cls_OnSpoolerStatus(HWND hwnd, UINT status, int cJobInQueue) */
1.1 root 176: #define HANDLE_WM_SPOOLERSTATUS(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 177: ((fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam)), 0L)
1.1 root 178: #define FORWARD_WM_SPOOLERSTATUS(hwnd, status, cJobInQueue, fn) \
1.1.1.3 ! root 179: (void)(fn)((hwnd), WM_SPOOLERSTATUS, (WPARAM)(status), MAKELPARAM((cJobInQueue), 0))
1.1 root 180:
1.1.1.3 ! root 181: /* void Cls_OnDevModeChange(HWND hwnd, LPCTSTR lpszDeviceName) */
1.1 root 182: #define HANDLE_WM_DEVMODECHANGE(hwnd, wParam, lParam, fn) \
183: ((fn)((hwnd), (LPCTSTR)(lParam)), 0L)
184: #define FORWARD_WM_DEVMODECHANGE(hwnd, lpszDeviceName, fn) \
1.1.1.3 ! root 185: (void)(fn)((hwnd), WM_DEVMODECHANGE, 0L, (LPARAM)(LPCTSTR)(lpszDeviceName))
1.1 root 186:
1.1.1.3 ! root 187: /* void Cls_OnTimeChange(HWND hwnd) */
1.1 root 188: #define HANDLE_WM_TIMECHANGE(hwnd, wParam, lParam, fn) \
189: ((fn)(hwnd), 0L)
190: #define FORWARD_WM_TIMECHANGE(hwnd, fn) \
1.1.1.3 ! root 191: (void)(fn)((hwnd), WM_TIMECHANGE, 0L, 0L)
1.1 root 192:
1.1.1.3 ! root 193: /* void Cls_OnPower(HWND hwnd, int code) */
1.1 root 194: #define HANDLE_WM_POWER(hwnd, wParam, lParam, fn) \
195: ((fn)((hwnd), (int)(wParam)), 0L)
196: #define FORWARD_WM_POWER(hwnd, code, fn) \
197: (void)(fn)((hwnd), WM_POWER, (WPARAM)(int)(code), 0L)
198:
1.1.1.3 ! root 199: /* BOOL Cls_OnQueryEndSession(HWND hwnd) */
1.1 root 200: #define HANDLE_WM_QUERYENDSESSION(hwnd, wParam, lParam, fn) \
201: MAKELRESULT((BOOL)(fn)(hwnd), 0L)
202: #define FORWARD_WM_QUERYENDSESSION(hwnd, fn) \
1.1.1.3 ! root 203: (BOOL)(DWORD)(fn)((hwnd), WM_QUERYENDSESSION, 0L, 0L)
1.1 root 204:
1.1.1.3 ! root 205: /* void Cls_OnEndSession(HWND hwnd, BOOL fEnding) */
1.1 root 206: #define HANDLE_WM_ENDSESSION(hwnd, wParam, lParam, fn) \
207: ((fn)((hwnd), (BOOL)(wParam)), 0L)
208: #define FORWARD_WM_ENDSESSION(hwnd, fEnding, fn) \
209: (void)(fn)((hwnd), WM_ENDSESSION, (WPARAM)(BOOL)(fEnding), 0L)
210:
1.1.1.3 ! root 211: /* void Cls_OnQuit(HWND hwnd, int exitCode) */
1.1 root 212: #define HANDLE_WM_QUIT(hwnd, wParam, lParam, fn) \
213: ((fn)((hwnd), (int)(wParam)), 0L)
214: #define FORWARD_WM_QUIT(hwnd, exitCode, fn) \
215: (void)(fn)((hwnd), WM_QUIT, (WPARAM)(exitCode), 0L)
216:
217: /* This message is in Windows 3.1 only */
1.1.1.3 ! root 218: /* void Cls_OnSystemError(HWND hwnd, int errCode) */
1.1 root 219: #define HANDLE_WM_SYSTEMERROR(hwnd, wParam, lParam, fn)
220: #define FORWARD_WM_SYSTEMERROR(hwnd, errCode, fn)
221:
222: /* BOOL Cls_OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct) */
223: #define HANDLE_WM_CREATE(hwnd, wParam, lParam, fn) \
224: ((fn)((hwnd), (LPCREATESTRUCT)(lParam)) ? 0L : (LRESULT)-1L)
225: #define FORWARD_WM_CREATE(hwnd, lpCreateStruct, fn) \
1.1.1.3 ! root 226: (BOOL)(DWORD)(fn)((hwnd), WM_CREATE, 0L, (LPARAM)(LPCREATESTRUCT)(lpCreateStruct))
1.1 root 227:
228: /* BOOL Cls_OnNCCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct) */
229: #define HANDLE_WM_NCCREATE(hwnd, wParam, lParam, fn) \
230: (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (LPCREATESTRUCT)(lParam))
231: #define FORWARD_WM_NCCREATE(hwnd, lpCreateStruct, fn) \
1.1.1.3 ! root 232: (BOOL)(DWORD)(fn)((hwnd), WM_NCCREATE, 0L, (LPARAM)(LPCREATESTRUCT)(lpCreateStruct))
1.1 root 233:
1.1.1.3 ! root 234: /* void Cls_OnDestroy(HWND hwnd) */
1.1 root 235: #define HANDLE_WM_DESTROY(hwnd, wParam, lParam, fn) \
236: ((fn)(hwnd), 0L)
237: #define FORWARD_WM_DESTROY(hwnd, fn) \
1.1.1.3 ! root 238: (void)(fn)((hwnd), WM_DESTROY, 0L, 0L)
1.1 root 239:
1.1.1.3 ! root 240: /* void Cls_OnNCDestroy(HWND hwnd) */
1.1 root 241: #define HANDLE_WM_NCDESTROY(hwnd, wParam, lParam, fn) \
242: ((fn)(hwnd), 0L)
243: #define FORWARD_WM_NCDESTROY(hwnd, fn) \
1.1.1.3 ! root 244: (void)(fn)((hwnd), WM_NCDESTROY, 0L, 0L)
1.1 root 245:
1.1.1.3 ! root 246: /* void Cls_OnShowWindow(HWND hwnd, BOOL fShow, UINT status) */
1.1 root 247: #define HANDLE_WM_SHOWWINDOW(hwnd, wParam, lParam, fn) \
248: ((fn)((hwnd), (BOOL)(wParam), (UINT)(lParam)), 0L)
249: #define FORWARD_WM_SHOWWINDOW(hwnd, fShow, status, fn) \
1.1.1.3 ! root 250: (void)(fn)((hwnd), WM_SHOWWINDOW, (WPARAM)(BOOL)(fShow), (LPARAM)(UINT)(status))
1.1 root 251:
1.1.1.3 ! root 252: /* void Cls_OnSetRedraw(HWND hwnd, BOOL fRedraw) */
1.1 root 253: #define HANDLE_WM_SETREDRAW(hwnd, wParam, lParam, fn) \
254: ((fn)((hwnd), (BOOL)(wParam)), 0L)
255: #define FORWARD_WM_SETREDRAW(hwnd, fRedraw, fn) \
256: (void)(fn)((hwnd), WM_SETREDRAW, (WPARAM)(BOOL)(fRedraw), 0L)
257:
1.1.1.3 ! root 258: /* void Cls_OnEnable(HWND hwnd, BOOL fEnable) */
1.1 root 259: #define HANDLE_WM_ENABLE(hwnd, wParam, lParam, fn) \
260: ((fn)((hwnd), (BOOL)(wParam)), 0L)
261: #define FORWARD_WM_ENABLE(hwnd, fEnable, fn) \
262: (void)(fn)((hwnd), WM_ENABLE, (WPARAM)(BOOL)(fEnable), 0L)
263:
1.1.1.3 ! root 264: /* void Cls_OnSetText(HWND hwnd, LPCTSTR lpszText) */
1.1 root 265: #define HANDLE_WM_SETTEXT(hwnd, wParam, lParam, fn) \
266: ((fn)((hwnd), (LPCTSTR)(lParam)), 0L)
267: #define FORWARD_WM_SETTEXT(hwnd, lpszText, fn) \
1.1.1.3 ! root 268: (void)(fn)((hwnd), WM_SETTEXT, 0L, (LPARAM)(LPCTSTR)(lpszText))
1.1 root 269:
270: /* INT Cls_OnGetText(HWND hwnd, int cchTextMax, LPTSTR lpszText) */
271: #define HANDLE_WM_GETTEXT(hwnd, wParam, lParam, fn) \
272: (LRESULT)(DWORD)(int)(fn)((hwnd), (int)(wParam), (LPTSTR)(lParam))
273: #define FORWARD_WM_GETTEXT(hwnd, cchTextMax, lpszText, fn) \
274: (int)(DWORD)(fn)((hwnd), WM_GETTEXT, (WPARAM)(int)(cchTextMax), (LPARAM)(LPTSTR)(lpszText))
275:
1.1.1.3 ! root 276: /* INT Cls_OnGetTextLength(HWND hwnd) */
1.1 root 277: #define HANDLE_WM_GETTEXTLENGTH(hwnd, wParam, lParam, fn) \
278: (LRESULT)(DWORD)(int)(fn)(hwnd)
279: #define FORWARD_WM_GETTEXTLENGTH(hwnd, fn) \
1.1.1.3 ! root 280: (int)(DWORD)(fn)((hwnd), WM_GETTEXTLENGTH, 0L, 0L)
1.1 root 281:
1.1.1.3 ! root 282: /* BOOL Cls_OnWindowPosChanging(HWND hwnd, LPWINDOWPOS lpwpos) */
1.1 root 283: #define HANDLE_WM_WINDOWPOSCHANGING(hwnd, wParam, lParam, fn) \
284: (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (LPWINDOWPOS)(lParam))
285: #define FORWARD_WM_WINDOWPOSCHANGING(hwnd, lpwpos, fn) \
1.1.1.3 ! root 286: (BOOL)(DWORD)(fn)((hwnd), WM_WINDOWPOSCHANGING, 0L, (LPARAM)(LPWINDOWPOS)(lpwpos))
1.1 root 287:
1.1.1.3 ! root 288: /* void Cls_OnWindowPosChanged(HWND hwnd, const LPWINDOWPOS lpwpos) */
1.1 root 289: #define HANDLE_WM_WINDOWPOSCHANGED(hwnd, wParam, lParam, fn) \
290: ((fn)((hwnd), (const LPWINDOWPOS)(lParam)), 0L)
291: #define FORWARD_WM_WINDOWPOSCHANGED(hwnd, lpwpos, fn) \
1.1.1.3 ! root 292: (void)(fn)((hwnd), WM_WINDOWPOSCHANGED, 0L, (LPARAM)(const LPWINDOWPOS)(lpwpos))
1.1 root 293:
1.1.1.3 ! root 294: /* void Cls_OnMove(HWND hwnd, int x, int y) */
1.1 root 295: #define HANDLE_WM_MOVE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 296: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)
1.1 root 297: #define FORWARD_WM_MOVE(hwnd, x, y, fn) \
1.1.1.3 ! root 298: (void)(fn)((hwnd), WM_MOVE, 0L, MAKELPARAM((x), (y)))
1.1 root 299:
1.1.1.3 ! root 300: /* void Cls_OnSize(HWND hwnd, UINT state, int cx, int cy) */
1.1 root 301: #define HANDLE_WM_SIZE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 302: ((fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)
1.1 root 303: #define FORWARD_WM_SIZE(hwnd, state, cx, cy, fn) \
1.1.1.3 ! root 304: (void)(fn)((hwnd), WM_SIZE, (WPARAM)(UINT)(state), MAKELPARAM((cx), (cy)))
1.1 root 305:
1.1.1.3 ! root 306: /* void Cls_OnClose(HWND hwnd) */
1.1 root 307: #define HANDLE_WM_CLOSE(hwnd, wParam, lParam, fn) \
308: ((fn)(hwnd), 0L)
309: #define FORWARD_WM_CLOSE(hwnd, fn) \
1.1.1.3 ! root 310: (void)(fn)((hwnd), WM_CLOSE, 0L, 0L)
1.1 root 311:
1.1.1.3 ! root 312: /* BOOL Cls_OnQueryOpen(HWND hwnd) */
1.1 root 313: #define HANDLE_WM_QUERYOPEN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 314: MAKELRESULT((BOOL)(fn)(hwnd))
1.1 root 315: #define FORWARD_WM_QUERYOPEN(hwnd, fn) \
1.1.1.3 ! root 316: (BOOL)(DWORD)(fn)((hwnd), WM_QUERYOPEN, 0L, 0L)
1.1 root 317:
1.1.1.3 ! root 318: /* void Cls_OnGetMinMaxInfo(HWND hwnd, LPMINMAXINFO lpMinMaxInfo) */
1.1 root 319: #define HANDLE_WM_GETMINMAXINFO(hwnd, wParam, lParam, fn) \
320: ((fn)((hwnd), (LPMINMAXINFO)(lParam)), 0L)
321: #define FORWARD_WM_GETMINMAXINFO(hwnd, lpMinMaxInfo, fn) \
1.1.1.3 ! root 322: (void)(fn)((hwnd), WM_GETMINMAXINFO, 0L, (LPARAM)(LPMINMAXINFO)(lpMinMaxInfo))
1.1 root 323:
1.1.1.3 ! root 324: /* void Cls_OnPaint(HWND hwnd) */
1.1 root 325: #define HANDLE_WM_PAINT(hwnd, wParam, lParam, fn) \
326: ((fn)(hwnd), 0L)
327: #define FORWARD_WM_PAINT(hwnd, fn) \
1.1.1.3 ! root 328: (void)(fn)((hwnd), WM_PAINT, 0L, 0L)
1.1 root 329:
1.1.1.3 ! root 330: /* BOOL Cls_OnEraseBkgnd(HWND hwnd, HDC hdc) */
1.1 root 331: #define HANDLE_WM_ERASEBKGND(hwnd, wParam, lParam, fn) \
332: (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (HDC)(wParam))
333: #define FORWARD_WM_ERASEBKGND(hwnd, hdc, fn) \
334: (BOOL)(DWORD)(fn)((hwnd), WM_ERASEBKGND, (WPARAM)(HDC)(hdc), 0L)
335:
1.1.1.3 ! root 336: /* BOOL Cls_OnIconEraseBkgnd(HWND hwnd, HDC hdc) */
1.1 root 337: #define HANDLE_WM_ICONERASEBKGND(hwnd, wParam, lParam, fn) \
338: (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (HDC)(wParam))
339: #define FORWARD_WM_ICONERASEBKGND(hwnd, hdc, fn) \
340: (BOOL)(DWORD)(fn)((hwnd), WM_ICONERASEBKGND, (WPARAM)(HDC)(hdc), 0L)
341:
1.1.1.3 ! root 342: /* void Cls_OnNCPaint(HWND hwnd, HRGN hrgn) */
1.1 root 343: #define HANDLE_WM_NCPAINT(hwnd, wParam, lParam, fn) \
344: ((fn)((hwnd), (HRGN)(wParam)), 0L)
345: #define FORWARD_WM_NCPAINT(hwnd, hrgn, fn) \
346: (void)(fn)((hwnd), WM_NCPAINT, (WPARAM)(HRGN)(hrgn), 0L)
347:
348: /* UINT Cls_OnNCCalcSize(HWND hwnd, BOOL fCalcValidRects, NCCALCSIZE_PARAMS * lpcsp) */
349: #define HANDLE_WM_NCCALCSIZE(hwnd, wParam, lParam, fn) \
350: (LRESULT)(DWORD)(UINT)(fn)((hwnd), (BOOL)(0), (NCCALCSIZE_PARAMS *)(lParam))
351: #define FORWARD_WM_NCCALCSIZE(hwnd, fCalcValidRects, lpcsp, fn) \
1.1.1.3 ! root 352: (UINT)(DWORD)(fn)((hwnd), WM_NCCALCSIZE, 0L, (LPARAM)(NCCALCSIZE_PARAMS *)(lpcsp))
1.1 root 353:
1.1.1.3 ! root 354: /* UINT Cls_OnNCHitTest(HWND hwnd, int x, int y) */
1.1 root 355: #define HANDLE_WM_NCHITTEST(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 356: (LRESULT)(DWORD)(UINT)(fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam))
1.1 root 357: #define FORWARD_WM_NCHITTEST(hwnd, x, y, fn) \
1.1.1.3 ! root 358: (UINT)(DWORD)(fn)((hwnd), WM_NCHITTEST, 0L, MAKELPARAM((x), (y)))
1.1 root 359:
1.1.1.3 ! root 360: /* HICON Cls_OnQueryDragIcon(HWND hwnd) */
1.1 root 361: #define HANDLE_WM_QUERYDRAGICON(hwnd, wParam, lParam, fn) \
362: (LRESULT)(DWORD)(UINT)(fn)(hwnd)
363: #define FORWARD_WM_QUERYDRAGICON(hwnd, fn) \
1.1.1.3 ! root 364: (HICON)(UINT)(DWORD)(fn)((hwnd), WM_QUERYDRAGICON, 0L, 0L)
1.1 root 365:
366: #ifdef _INC_SHELLAPI
1.1.1.3 ! root 367: /* void Cls_OnDropFiles(HWND hwnd, HDROP hdrop) */
1.1 root 368: #define HANDLE_WM_DROPFILES(hwnd, wParam, lParam, fn) \
369: ((fn)((hwnd), (HDROP)(wParam)), 0L)
370: #define FORWARD_WM_DROPFILES(hwnd, hdrop, fn) \
371: (void)(fn)((hwnd), WM_DROPFILES, (WPARAM)(HDROP)(hdrop), 0L)
372: #endif /* _INC_SHELLAPI */
373:
1.1.1.3 ! root 374: /* void Cls_OnActivate(HWND hwnd, UINT state, HWND hwndActDeact, BOOL fMinimized) */
1.1 root 375: #define HANDLE_WM_ACTIVATE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 376: ((fn)((hwnd), (UINT)LOWORD(wParam), (HWND)(lParam), (BOOL)HIWORD(wParam)), 0L)
1.1 root 377: #define FORWARD_WM_ACTIVATE(hwnd, state, hwndActDeact, fMinimized, fn) \
1.1.1.3 ! root 378: (void)(fn)((hwnd), WM_ACTIVATE, MAKEWPARAM((state), (fMinimized)), (LPARAM)(HWND)(hwndActDeact))
1.1 root 379:
1.1.1.3 ! root 380: /* void Cls_OnActivateApp(HWND hwnd, BOOL fActivate, DWORD dwThreadId) */
1.1 root 381: #define HANDLE_WM_ACTIVATEAPP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 382: ((fn)((hwnd), (BOOL)(wParam), (DWORD)(lParam)), 0L)
1.1 root 383: #define FORWARD_WM_ACTIVATEAPP(hwnd, fActivate, dwThreadId, fn) \
384: (void)(fn)((hwnd), WM_ACTIVATEAPP, (WPARAM)(BOOL)(fActivate), (LPARAM)(dwThreadId))
385:
1.1.1.3 ! root 386: /* BOOL Cls_OnNCActivate(HWND hwnd, BOOL fActive, HWND hwndActDeact, BOOL fMinimized) */
1.1 root 387: #define HANDLE_WM_NCACTIVATE(hwnd, wParam, lParam, fn) \
388: (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (BOOL)(wParam), 0L, 0L)
389: #define FORWARD_WM_NCACTIVATE(hwnd, fActive, hwndActDeact, fMinimized, fn) \
390: (BOOL)(DWORD)(fn)((hwnd), WM_NCACTIVATE, (WPARAM)(BOOL)(fActive), 0L)
391:
392: /* void Cls_OnSetFocus(HWND hwnd, HWND hwndOldFocus) */
393: #define HANDLE_WM_SETFOCUS(hwnd, wParam, lParam, fn) \
394: ((fn)((hwnd), (HWND)(wParam)), 0L)
395: #define FORWARD_WM_SETFOCUS(hwnd, hwndOldFocus, fn) \
396: (void)(fn)((hwnd), WM_SETFOCUS, (WPARAM)(HWND)(hwndOldFocus), 0L)
397:
1.1.1.3 ! root 398: /* void Cls_OnKillFocus(HWND hwnd, HWND hwndNewFocus) */
1.1 root 399: #define HANDLE_WM_KILLFOCUS(hwnd, wParam, lParam, fn) \
400: ((fn)((hwnd), (HWND)(wParam)), 0L)
401: #define FORWARD_WM_KILLFOCUS(hwnd, hwndNewFocus, fn) \
402: (void)(fn)((hwnd), WM_KILLFOCUS, (WPARAM)(HWND)(hwndNewFocus), 0L)
403:
1.1.1.3 ! root 404: /* void Cls_OnKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags) */
1.1 root 405: #define HANDLE_WM_KEYDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 406: ((fn)((hwnd), (UINT)(wParam), TRUE, (int)(short)LOWORD(lParam), (UINT)HIWORD(lParam)), 0L)
1.1 root 407: #define FORWARD_WM_KEYDOWN(hwnd, vk, cRepeat, flags, fn) \
1.1.1.3 ! root 408: (void)(fn)((hwnd), WM_KEYDOWN, (WPARAM)(UINT)(vk), MAKELPARAM((cRepeat), (flags)))
1.1 root 409:
1.1.1.3 ! root 410: /* void Cls_OnKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags) */
1.1 root 411: #define HANDLE_WM_KEYUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 412: ((fn)((hwnd), (UINT)(wParam), FALSE, (int)(short)LOWORD(lParam), (UINT)HIWORD(lParam)), 0L)
1.1 root 413: #define FORWARD_WM_KEYUP(hwnd, vk, cRepeat, flags, fn) \
1.1.1.3 ! root 414: (void)(fn)((hwnd), WM_KEYUP, (WPARAM)(UINT)(vk), MAKELPARAM((cRepeat), (flags)))
1.1 root 415:
1.1.1.3 ! root 416: /* void Cls_OnChar(HWND hwnd, TCHAR ch, int cRepeat) */
1.1 root 417: #define HANDLE_WM_CHAR(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 418: ((fn)((hwnd), (TCHAR)(wParam), (int)(short)LOWORD(lParam)), 0L)
1.1 root 419: #define FORWARD_WM_CHAR(hwnd, ch, cRepeat, fn) \
1.1.1.3 ! root 420: (void)(fn)((hwnd), WM_CHAR, (WPARAM)(TCHAR)(ch), MAKELPARAM((cRepeat),0))
1.1 root 421:
1.1.1.3 ! root 422: /* void Cls_OnDeadChar(HWND hwnd, TCHAR ch, int cRepeat) */
1.1 root 423: #define HANDLE_WM_DEADCHAR(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 424: ((fn)((hwnd), (TCHAR)(wParam), (int)(short)LOWORD(lParam)), 0L)
1.1 root 425: #define FORWARD_WM_DEADCHAR(hwnd, ch, cRepeat, fn) \
1.1.1.3 ! root 426: (void)(fn)((hwnd), WM_DEADCHAR, (WPARAM)(TCHAR)(ch), MAKELPARAM((cRepeat),0))
1.1 root 427:
1.1.1.3 ! root 428: /* void Cls_OnSysKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags) */
1.1 root 429: #define HANDLE_WM_SYSKEYDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 430: ((fn)((hwnd), (UINT)(wParam), TRUE, (int)(short)LOWORD(lParam), (UINT)HIWORD(lParam)), 0L)
1.1 root 431: #define FORWARD_WM_SYSKEYDOWN(hwnd, vk, cRepeat, flags, fn) \
1.1.1.3 ! root 432: (void)(fn)((hwnd), WM_SYSKEYDOWN, (WPARAM)(UINT)(vk), MAKELPARAM((cRepeat), (flags)))
1.1 root 433:
1.1.1.3 ! root 434: /* void Cls_OnSysKey(HWND hwnd, UINT vk, BOOL fDown, int cRepeat, UINT flags) */
1.1 root 435: #define HANDLE_WM_SYSKEYUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 436: ((fn)((hwnd), (UINT)(wParam), FALSE, (int)(short)LOWORD(lParam), (UINT)HIWORD(lParam)), 0L)
1.1 root 437: #define FORWARD_WM_SYSKEYUP(hwnd, vk, cRepeat, flags, fn) \
1.1.1.3 ! root 438: (void)(fn)((hwnd), WM_SYSKEYUP, (WPARAM)(UINT)(vk), MAKELPARAM((cRepeat), (flags)))
1.1 root 439:
1.1.1.3 ! root 440: /* void Cls_OnSysChar(HWND hwnd, TCHAR ch, int cRepeat) */
1.1 root 441: #define HANDLE_WM_SYSCHAR(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 442: ((fn)((hwnd), (TCHAR)(wParam), (int)(short)LOWORD(lParam)), 0L)
1.1 root 443: #define FORWARD_WM_SYSCHAR(hwnd, ch, cRepeat, fn) \
1.1.1.3 ! root 444: (void)(fn)((hwnd), WM_SYSCHAR, (WPARAM)(TCHAR)(ch), MAKELPARAM((cRepeat), 0))
1.1 root 445:
1.1.1.3 ! root 446: /* void Cls_OnSysDeadChar(HWND hwnd, TCHAR ch, int cRepeat) */
1.1 root 447: #define HANDLE_WM_SYSDEADCHAR(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 448: ((fn)((hwnd), (TCHAR)(wParam), (int)(short)LOWORD(lParam)), 0L)
1.1 root 449: #define FORWARD_WM_SYSDEADCHAR(hwnd, ch, cRepeat, fn) \
1.1.1.3 ! root 450: (void)(fn)((hwnd), WM_SYSDEADCHAR, (WPARAM)(TCHAR)(ch), MAKELPARAM((cRepeat), 0))
1.1 root 451:
1.1.1.3 ! root 452: /* void Cls_OnMouseMove(HWND hwnd, int x, int y, UINT keyFlags) */
1.1 root 453: #define HANDLE_WM_MOUSEMOVE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 454: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 455: #define FORWARD_WM_MOUSEMOVE(hwnd, x, y, keyFlags, fn) \
456: (void)(fn)((hwnd), WM_MOUSEMOVE, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
457:
1.1.1.3 ! root 458: /* void Cls_OnLButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags) */
1.1 root 459: #define HANDLE_WM_LBUTTONDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 460: ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 461: #define FORWARD_WM_LBUTTONDOWN(hwnd, fDoubleClick, x, y, keyFlags, fn) \
462: (void)(fn)((hwnd), (fDoubleClick) ? WM_LBUTTONDBLCLK : WM_LBUTTONDOWN, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
463:
1.1.1.3 ! root 464: /* void Cls_OnLButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags) */
1.1 root 465: #define HANDLE_WM_LBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 466: ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 467:
1.1.1.3 ! root 468: /* void Cls_OnLButtonUp(HWND hwnd, int x, int y, UINT keyFlags) */
1.1 root 469: #define HANDLE_WM_LBUTTONUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 470: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 471: #define FORWARD_WM_LBUTTONUP(hwnd, x, y, keyFlags, fn) \
472: (void)(fn)((hwnd), WM_LBUTTONUP, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
473:
1.1.1.3 ! root 474: /* void Cls_OnRButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags) */
1.1 root 475: #define HANDLE_WM_RBUTTONDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 476: ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 477: #define FORWARD_WM_RBUTTONDOWN(hwnd, fDoubleClick, x, y, keyFlags, fn) \
478: (void)(fn)((hwnd), (fDoubleClick) ? WM_RBUTTONDBLCLK : WM_RBUTTONDOWN, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
479:
1.1.1.3 ! root 480: /* void Cls_OnRButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags) */
1.1 root 481: #define HANDLE_WM_RBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 482: ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 483:
1.1.1.3 ! root 484: /* void Cls_OnRButtonUp(HWND hwnd, int x, int y, UINT flags) */
1.1 root 485: #define HANDLE_WM_RBUTTONUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 486: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 487: #define FORWARD_WM_RBUTTONUP(hwnd, x, y, keyFlags, fn) \
488: (void)(fn)((hwnd), WM_RBUTTONUP, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
489:
1.1.1.3 ! root 490: /* void Cls_OnMButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags) */
1.1 root 491: #define HANDLE_WM_MBUTTONDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 492: ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 493: #define FORWARD_WM_MBUTTONDOWN(hwnd, fDoubleClick, x, y, keyFlags, fn) \
494: (void)(fn)((hwnd), (fDoubleClick) ? WM_MBUTTONDBLCLK : WM_MBUTTONDOWN, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
495:
1.1.1.3 ! root 496: /* void Cls_OnMButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT keyFlags) */
1.1 root 497: #define HANDLE_WM_MBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 498: ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 499:
1.1.1.3 ! root 500: /* void Cls_OnMButtonUp(HWND hwnd, int x, int y, UINT flags) */
1.1 root 501: #define HANDLE_WM_MBUTTONUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 502: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 503: #define FORWARD_WM_MBUTTONUP(hwnd, x, y, keyFlags, fn) \
504: (void)(fn)((hwnd), WM_MBUTTONUP, (WPARAM)(UINT)(keyFlags), MAKELPARAM((x), (y)))
505:
1.1.1.3 ! root 506: /* void Cls_OnNCMouseMove(HWND hwnd, int x, int y, UINT codeHitTest) */
1.1 root 507: #define HANDLE_WM_NCMOUSEMOVE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 508: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 509: #define FORWARD_WM_NCMOUSEMOVE(hwnd, x, y, codeHitTest, fn) \
510: (void)(fn)((hwnd), WM_NCMOUSEMOVE, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)))
511:
1.1.1.3 ! root 512: /* void Cls_OnNCLButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT codeHitTest) */
1.1 root 513: #define HANDLE_WM_NCLBUTTONDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 514: ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 515: #define FORWARD_WM_NCLBUTTONDOWN(hwnd, fDoubleClick, x, y, codeHitTest, fn) \
516: (void)(fn)((hwnd), (fDoubleClick) ? WM_NCLBUTTONDBLCLK : WM_NCLBUTTONDOWN, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)))
517:
1.1.1.3 ! root 518: /* void Cls_OnNCLButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT codeHitTest) */
1.1 root 519: #define HANDLE_WM_NCLBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 520: ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 521:
1.1.1.3 ! root 522: /* void Cls_OnNCLButtonUp(HWND hwnd, int x, int y, UINT codeHitTest) */
1.1 root 523: #define HANDLE_WM_NCLBUTTONUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 524: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 525: #define FORWARD_WM_NCLBUTTONUP(hwnd, x, y, codeHitTest, fn) \
1.1.1.3 ! root 526: (void)(fn)((hwnd), WM_NCLBUTTONUP, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)))
1.1 root 527:
1.1.1.3 ! root 528: /* void Cls_OnNCRButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT codeHitTest) */
1.1 root 529: #define HANDLE_WM_NCRBUTTONDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 530: ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 531: #define FORWARD_WM_NCRBUTTONDOWN(hwnd, fDoubleClick, x, y, codeHitTest, fn) \
532: (void)(fn)((hwnd), (fDoubleClick) ? WM_NCRBUTTONDBLCLK : WM_NCRBUTTONDOWN, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)) )
533:
1.1.1.3 ! root 534: /* void Cls_OnNCRButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT codeHitTest) */
1.1 root 535: #define HANDLE_WM_NCRBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 536: ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 537:
1.1.1.3 ! root 538: /* void Cls_OnNCRButtonUp(HWND hwnd, int x, int y, UINT codeHitTest) */
1.1 root 539: #define HANDLE_WM_NCRBUTTONUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 540: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 541: #define FORWARD_WM_NCRBUTTONUP(hwnd, x, y, codeHitTest, fn) \
542: (void)(fn)((hwnd), WM_NCRBUTTONUP, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)) )
543:
1.1.1.3 ! root 544: /* void Cls_OnNCMButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT codeHitTest) */
1.1 root 545: #define HANDLE_WM_NCMBUTTONDOWN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 546: ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 547: #define FORWARD_WM_NCMBUTTONDOWN(hwnd, fDoubleClick, x, y, codeHitTest, fn) \
548: (void)(fn)((hwnd), (fDoubleClick) ? WM_NCMBUTTONDBLCLK : WM_NCMBUTTONDOWN, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)) )
549:
1.1.1.3 ! root 550: /* void Cls_OnNCMButtonDown(HWND hwnd, BOOL fDoubleClick, int x, int y, UINT codeHitTest) */
1.1 root 551: #define HANDLE_WM_NCMBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 552: ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 553:
1.1.1.3 ! root 554: /* void Cls_OnNCMButtonUp(HWND hwnd, int x, int y, UINT codeHitTest) */
1.1 root 555: #define HANDLE_WM_NCMBUTTONUP(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 556: ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
1.1 root 557: #define FORWARD_WM_NCMBUTTONUP(hwnd, x, y, codeHitTest, fn) \
558: (void)(fn)((hwnd), WM_NCMBUTTONUP, (WPARAM)(UINT)(codeHitTest), MAKELPARAM((x), (y)) )
559:
1.1.1.3 ! root 560: /* int Cls_OnMouseActivate(HWND hwnd, HWND hwndTopLevel, UINT codeHitTest, UINT msg) */
1.1 root 561: #define HANDLE_WM_MOUSEACTIVATE(hwnd, wParam, lParam, fn) \
562: (LRESULT)(DWORD)(int)(fn)((hwnd), (HWND)(wParam), (UINT)LOWORD(lParam), (UINT)HIWORD(lParam))
563: #define FORWARD_WM_MOUSEACTIVATE(hwnd, hwndTopLevel, codeHitTest, msg, fn) \
564: (int)(DWORD)(fn)((hwnd), WM_MOUSEACTIVATE, (WPARAM)(HWND)(hwndTopLevel), MAKELPARAM((codeHitTest), (msg)))
565:
1.1.1.3 ! root 566: /* void Cls_OnCancelMode(HWND hwnd) */
1.1 root 567: #define HANDLE_WM_CANCELMODE(hwnd, wParam, lParam, fn) \
568: ((fn)(hwnd), 0L)
569: #define FORWARD_WM_CANCELMODE(hwnd, fn) \
1.1.1.3 ! root 570: (void)(fn)((hwnd), WM_CANCELMODE, 0L, 0L)
1.1 root 571:
1.1.1.3 ! root 572: /* void Cls_OnTimer(HWND hwnd, UINT id) */
1.1 root 573: #define HANDLE_WM_TIMER(hwnd, wParam, lParam, fn) \
574: ((fn)((hwnd), (UINT)(wParam)), 0L)
575: #define FORWARD_WM_TIMER(hwnd, id, fn) \
576: (void)(fn)((hwnd), WM_TIMER, (WPARAM)(UINT)(id), 0L)
577:
1.1.1.3 ! root 578: /* void Cls_OnInitMenu(HWND hwnd, HMENU hMenu) */
1.1 root 579: #define HANDLE_WM_INITMENU(hwnd, wParam, lParam, fn) \
580: ((fn)((hwnd), (HMENU)(wParam)), 0L)
581: #define FORWARD_WM_INITMENU(hwnd, hMenu, fn) \
582: (void)(fn)((hwnd), WM_INITMENU, (WPARAM)(HMENU)(hMenu), 0L)
583:
1.1.1.3 ! root 584: /* void Cls_OnInitMenuPopup(HWND hwnd, HMENU hMenu, UINT item, BOOL fSystemMenu) */
1.1 root 585: #define HANDLE_WM_INITMENUPOPUP(hwnd, wParam, lParam, fn) \
586: ((fn)((hwnd), (HMENU)(wParam), (UINT)LOWORD(lParam), (BOOL)HIWORD(lParam)), 0L)
587: #define FORWARD_WM_INITMENUPOPUP(hwnd, hMenu, item, fSystemMenu, fn) \
588: (void)(fn)((hwnd), WM_INITMENUPOPUP, (WPARAM)(HMENU)(hMenu), MAKELPARAM((item),(fSystemMenu)))
589:
1.1.1.3 ! root 590: /* void Cls_OnMenuSelect(HWND hwnd, HMENU hmenu, int item, HMENU hmenuPopup, UINT flags) */
1.1 root 591: #define HANDLE_WM_MENUSELECT(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 592: ((fn)((hwnd), (HMENU)(lParam), \
! 593: (HIWORD(wParam) & MF_POPUP) ? 0L : (int)(LOWORD(wParam)), \
! 594: (HIWORD(wParam) & MF_POPUP) ? GetSubMenu((HMENU)lParam, LOWORD(wParam)) : 0L, \
! 595: (UINT)(((short)HIWORD(wParam) == -1) ? 0xFFFFFFFF : HIWORD(wParam))), 0L)
1.1 root 596: #define FORWARD_WM_MENUSELECT(hwnd, hmenu, item, hmenuPopup, flags, fn) \
597: (void)(fn)((hwnd), WM_MENUSELECT, MAKEWPARAM((item), (flags)), (LPARAM)(HMENU)((hmenu) ? (hmenu) : (hmenuPopup)))
598:
1.1.1.3 ! root 599: /* DWORD Cls_OnMenuChar(HWND hwnd, UINT ch, UINT flags, HMENU hmenu) */
1.1 root 600: #define HANDLE_WM_MENUCHAR(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 601: (LRESULT)(DWORD)(fn)((hwnd), (UINT)(LOWORD(wParam)), (UINT)HIWORD(wParam), (HMENU)(lParam))
1.1 root 602: #define FORWARD_WM_MENUCHAR(hwnd, ch, flags, hmenu, fn) \
603: (DWORD)(fn)((hwnd), WM_MENUCHAR, MAKEWPARAM(flags, (WORD)(ch)), (LPARAM)(HMENU)(hmenu))
604:
1.1.1.3 ! root 605: /* void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) */
1.1 root 606: #define HANDLE_WM_COMMAND(hwnd, wParam, lParam, fn) \
607: ((fn)((hwnd), (int)(LOWORD(wParam)), (HWND)(lParam), (UINT)HIWORD(wParam)), 0L)
608: #define FORWARD_WM_COMMAND(hwnd, id, hwndCtl, codeNotify, fn) \
609: (void)(fn)((hwnd), WM_COMMAND, MAKEWPARAM((UINT)(id),(UINT)(codeNotify)), (LPARAM)(HWND)(hwndCtl))
610:
1.1.1.3 ! root 611: /* void Cls_OnHScroll(HWND hwnd, HWND hwndCtl, UINT code, int pos) */
1.1 root 612: #define HANDLE_WM_HSCROLL(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 613: ((fn)((hwnd), (HWND)(lParam), (UINT)(LOWORD(wParam)), (int)(short)HIWORD(wParam)), 0L)
1.1 root 614: #define FORWARD_WM_HSCROLL(hwnd, hwndCtl, code, pos, fn) \
615: (void)(fn)((hwnd), WM_HSCROLL, MAKEWPARAM((UINT)(pos),(UINT)(code)), (LPARAM)(UINT)(hwndCtl))
616:
1.1.1.3 ! root 617: /* void Cls_OnVScroll(HWND hwnd, HWND hwndCtl, UINT code, int pos) */
1.1 root 618: #define HANDLE_WM_VSCROLL(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 619: ((fn)((hwnd), (HWND)(lParam), (UINT)(LOWORD(wParam)), (int)(short)HIWORD(wParam)), 0L)
1.1 root 620: #define FORWARD_WM_VSCROLL(hwnd, hwndCtl, code, pos, fn) \
621: (void)(fn)((hwnd), WM_VSCROLL, MAKEWPARAM((UINT)(int)(pos),(UINT)(int)(code)), (LPARAM)(HWND)(hwndCtl))
622:
1.1.1.3 ! root 623: /* void Cls_OnCut(HWND hwnd) */
1.1 root 624: #define HANDLE_WM_CUT(hwnd, wParam, lParam, fn) \
625: ((fn)(hwnd), 0L)
626: #define FORWARD_WM_CUT(hwnd, fn) \
1.1.1.3 ! root 627: (void)(fn)((hwnd), WM_CUT, 0L, 0L)
1.1 root 628:
1.1.1.3 ! root 629: /* void Cls_OnCopy(HWND hwnd) */
1.1 root 630: #define HANDLE_WM_COPY(hwnd, wParam, lParam, fn) \
631: ((fn)(hwnd), 0L)
632: #define FORWARD_WM_COPY(hwnd, fn) \
1.1.1.3 ! root 633: (void)(fn)((hwnd), WM_COPY, 0L, 0L)
1.1 root 634:
1.1.1.3 ! root 635: /* void Cls_OnPaste(HWND hwnd) */
1.1 root 636: #define HANDLE_WM_PASTE(hwnd, wParam, lParam, fn) \
637: ((fn)(hwnd), 0L)
638: #define FORWARD_WM_PASTE(hwnd, fn) \
1.1.1.3 ! root 639: (void)(fn)((hwnd), WM_PASTE, 0L, 0L)
1.1 root 640:
1.1.1.3 ! root 641: /* void Cls_OnClear(HWND hwnd) */
1.1 root 642: #define HANDLE_WM_CLEAR(hwnd, wParam, lParam, fn) \
643: ((fn)(hwnd), 0L)
644: #define FORWARD_WM_CLEAR(hwnd, fn) \
1.1.1.3 ! root 645: (void)(fn)((hwnd), WM_CLEAR, 0L, 0L)
1.1 root 646:
1.1.1.3 ! root 647: /* void Cls_OnUndo(HWND hwnd) */
1.1 root 648: #define HANDLE_WM_UNDO(hwnd, wParam, lParam, fn) \
649: ((fn)(hwnd), 0L)
650: #define FORWARD_WM_UNDO(hwnd, fn) \
1.1.1.3 ! root 651: (void)(fn)((hwnd), WM_UNDO, 0L, 0L)
1.1 root 652:
1.1.1.3 ! root 653: /* HANDLE Cls_OnRenderFormat(HWND hwnd, UINT fmt) */
1.1 root 654: #define HANDLE_WM_RENDERFORMAT(hwnd, wParam, lParam, fn) \
655: (LRESULT)(DWORD)(UINT)(HANDLE)(fn)((hwnd), (UINT)(wParam))
656: #define FORWARD_WM_RENDERFORMAT(hwnd, fmt, fn) \
657: (HANDLE)(UINT)(DWORD)(fn)((hwnd), WM_RENDERFORMAT, (WPARAM)(UINT)(fmt), 0L)
658:
1.1.1.3 ! root 659: /* void Cls_OnRenderAllFormats(HWND hwnd) */
1.1 root 660: #define HANDLE_WM_RENDERALLFORMATS(hwnd, wParam, lParam, fn) \
661: ((fn)(hwnd), 0L)
662: #define FORWARD_WM_RENDERALLFORMATS(hwnd, fn) \
1.1.1.3 ! root 663: (void)(fn)((hwnd), WM_RENDERALLFORMATS, 0L, 0L)
1.1 root 664:
1.1.1.3 ! root 665: /* void Cls_OnDestroyClipboard(HWND hwnd) */
1.1 root 666: #define HANDLE_WM_DESTROYCLIPBOARD(hwnd, wParam, lParam, fn) \
667: ((fn)(hwnd), 0L)
668: #define FORWARD_WM_DESTROYCLIPBOARD(hwnd, fn) \
1.1.1.3 ! root 669: (void)(fn)((hwnd), WM_DESTROYCLIPBOARD, 0L, 0L)
1.1 root 670:
1.1.1.3 ! root 671: /* void Cls_OnDrawClipboard(HWND hwnd) */
1.1 root 672: #define HANDLE_WM_DRAWCLIPBOARD(hwnd, wParam, lParam, fn) \
673: ((fn)(hwnd), 0L)
674: #define FORWARD_WM_DRAWCLIPBOARD(hwnd, fn) \
1.1.1.3 ! root 675: (void)(fn)((hwnd), WM_DRAWCLIPBOARD, 0L, 0L)
1.1 root 676:
677: /* void Cls_OnPaintClipboard(HWND hwnd, HWND hwndCBViewer, const LPPAINTSTRUCT lpPaintStruct) */
678: #define HANDLE_WM_PAINTCLIPBOARD(hwnd, wParam, lParam, fn) \
679: ((fn)((hwnd), (HWND)(wParam), (const LPPAINTSTRUCT)GlobalLock((HGLOBAL)(lParam))), GlobalUnlock((HGLOBAL)(lParam)), 0L)
680: #define FORWARD_WM_PAINTCLIPBOARD(hwnd, hwndCBViewer, lpPaintStruct, fn) \
681: (void)(fn)((hwnd), WM_PAINTCLIPBOARD, (WPARAM)(HWND)(hwndCBViewer), (LPARAM)(lpPaintStruct))
682:
1.1.1.3 ! root 683: /* void Cls_OnSizeClipboard(HWND hwnd, HWND hwndCBViewer, const LPRECT lprc) */
1.1 root 684: #define HANDLE_WM_SIZECLIPBOARD(hwnd, wParam, lParam, fn) \
685: ((fn)((hwnd), (HWND)(wParam), (const LPRECT)GlobalLock((HGLOBAL)(lParam))), GlobalUnlock((HGLOBAL)(lParam)), 0L)
686: #define FORWARD_WM_SIZECLIPBOARD(hwnd, hwndCBViewer, lprc, fn) \
687: (void)(fn)((hwnd), WM_SIZECLIPBOARD, (WPARAM)(HWND)(hwndCBViewer), (LPARAM)(lprc))
688:
1.1.1.3 ! root 689: /* void Cls_OnVScrollClipboard(HWND hwnd, HWND hwndCBViewer, UINT code, int pos) */
1.1 root 690: #define HANDLE_WM_VSCROLLCLIPBOARD(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 691: ((fn)((hwnd), (HWND)(wParam), (UINT)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)
1.1 root 692: #define FORWARD_WM_VSCROLLCLIPBOARD(hwnd, hwndCBViewer, code, pos, fn) \
693: (void)(fn)((hwnd), WM_VSCROLLCLIPBOARD, (WPARAM)(HWND)(hwndCBViewer), MAKELPARAM((code), (pos)))
694:
1.1.1.3 ! root 695: /* void Cls_OnHScrollClipboard(HWND hwnd, HWND hwndCBViewer, UINT code, int pos) */
1.1 root 696: #define HANDLE_WM_HSCROLLCLIPBOARD(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 697: ((fn)((hwnd), (HWND)(wParam), (UINT)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)
1.1 root 698: #define FORWARD_WM_HSCROLLCLIPBOARD(hwnd, hwndCBViewer, code, pos, fn) \
699: (void)(fn)((hwnd), WM_HSCROLLCLIPBOARD, (WPARAM)(HWND)(hwndCBViewer), MAKELPARAM((code), (pos)))
700:
1.1.1.3 ! root 701: /* void Cls_OnAskCBFormatName(HWND hwnd, int cchMax, LPTSTR rgchName) */
1.1 root 702: #define HANDLE_WM_ASKCBFORMATNAME(hwnd, wParam, lParam, fn) \
703: ((fn)((hwnd), (int)(wParam), (LPTSTR)(lParam)), 0L)
704: #define FORWARD_WM_ASKCBFORMATNAME(hwnd, cchMax, rgchName, fn) \
705: (void)(fn)((hwnd), WM_ASKCBFORMATNAME, (WPARAM)(int)(cchMax), (LPARAM)(rgchName))
706:
1.1.1.3 ! root 707: /* void Cls_OnChangeCBChain(HWND hwnd, HWND hwndRemove, HWND hwndNext) */
1.1 root 708: #define HANDLE_WM_CHANGECBCHAIN(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 709: ((fn)((hwnd), (HWND)(wParam), (HWND)(lParam)), 0L)
1.1 root 710: #define FORWARD_WM_CHANGECBCHAIN(hwnd, hwndRemove, hwndNext, fn) \
1.1.1.3 ! root 711: (void)(fn)((hwnd), WM_CHANGECBCHAIN, (WPARAM)(HWND)(hwndRemove), (LPARAM)(HWND)(hwndNext))
1.1 root 712:
1.1.1.3 ! root 713: /* BOOL Cls_OnSetCursor(HWND hwnd, HWND hwndCursor, UINT codeHitTest, UINT msg) */
1.1 root 714: #define HANDLE_WM_SETCURSOR(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 715: (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (HWND)(wParam), (UINT)LOWORD(lParam), (UINT)HIWORD(lParam))
1.1 root 716: #define FORWARD_WM_SETCURSOR(hwnd, hwndCursor, codeHitTest, msg, fn) \
717: (BOOL)(DWORD)(fn)((hwnd), WM_SETCURSOR, (WPARAM)(HWND)(hwndCursor), MAKELPARAM((codeHitTest), (msg)))
718:
1.1.1.3 ! root 719: /* void Cls_OnSysCommand(HWND hwnd, UINT cmd, int x, int y) */
1.1 root 720: #define HANDLE_WM_SYSCOMMAND(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 721: ((fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam)), 0L)
1.1 root 722: #define FORWARD_WM_SYSCOMMAND(hwnd, cmd, x, y, fn) \
723: (void)(fn)((hwnd), WM_SYSCOMMAND, (WPARAM)(UINT)(cmd), MAKELPARAM((x), (y)))
724:
1.1.1.3 ! root 725: /* HWND Cls_MDICreate(HWND hwnd, const LPMDICREATESTRUCT lpmcs) */
1.1 root 726: #define HANDLE_WM_MDICREATE(hwnd, wParam, lParam, fn) \
727: (LRESULT)(DWORD)(UINT)(fn)((hwnd), (LPMDICREATESTRUCT)(lParam))
728: #define FORWARD_WM_MDICREATE(hwnd, lpmcs, fn) \
1.1.1.3 ! root 729: (HWND)(UINT)(DWORD)(fn)((hwnd), WM_MDICREATE, 0L, (LPARAM)(lpmcs))
1.1 root 730:
1.1.1.3 ! root 731: /* void Cls_MDIDestroy(HWND hwnd, HWND hwndDestroy) */
1.1 root 732: #define HANDLE_WM_MDIDESTROY(hwnd, wParam, lParam, fn) \
733: ((fn)((hwnd), (HWND)(wParam)), 0L)
734: #define FORWARD_WM_MDIDESTROY(hwnd, hwndDestroy, fn) \
735: (void)(fn)((hwnd), WM_MDIDESTROY, (WPARAM)(hwndDestroy), 0L)
736:
737: /* NOTE: Usable only by MDI client windows */
1.1.1.3 ! root 738: /* void Cls_MDIActivate(HWND hwnd, BOOL fActive, HWND hwndActivate, HWND hwndDeactivate) */
1.1 root 739: #define HANDLE_WM_MDIACTIVATE(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 740: ((fn)((hwnd), (BOOL)(lParam == (LPARAM)hwnd), (HWND)(lParam), (HWND)(wParam)), 0L)
1.1 root 741: #define FORWARD_WM_MDIACTIVATE(hwnd, fActive, hwndActivate, hwndDeactivate, fn) \
1.1.1.3 ! root 742: (void)(fn)(hwnd, WM_MDIACTIVATE, (WPARAM)(hwndDeactivate), (LPARAM)(hwndActivate))
1.1 root 743:
1.1.1.3 ! root 744: /* void Cls_MDIRestore(HWND hwnd, HWND hwndRestore) */
1.1 root 745: #define HANDLE_WM_MDIRESTORE(hwnd, wParam, lParam, fn) \
746: ((fn)((hwnd), (HWND)(wParam)), 0L)
747: #define FORWARD_WM_MDIRESTORE(hwnd, hwndRestore, fn) \
748: (void)(fn)((hwnd), WM_MDIRESTORE, (WPARAM)(hwndRestore), 0L)
749:
1.1.1.3 ! root 750: /* HWND Cls_MDINext(HWND hwnd, HWND hwndCur, BOOL fPrev) */
1.1 root 751: #define HANDLE_WM_MDINEXT(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 752: (fn)((hwnd), (HWND)(wParam), (BOOL)lParam)
1.1 root 753: #define FORWARD_WM_MDINEXT(hwnd, hwndCur, fPrev, fn) \
754: (HWND)(UINT)(DWORD)(fn)((hwnd), WM_MDINEXT, (WPARAM)(hwndCur), (LPARAM)(fPrev))
755:
1.1.1.3 ! root 756: /* void Cls_MDIMaximize(HWND hwnd, HWND hwndMaximize) */
1.1 root 757: #define HANDLE_WM_MDIMAXIMIZE(hwnd, wParam, lParam, fn) \
758: ((fn)((hwnd), (HWND)(wParam)), 0L)
759: #define FORWARD_WM_MDIMAXIMIZE(hwnd, hwndMaximize, fn) \
760: (void)(fn)((hwnd), WM_MDIMAXIMIZE, (WPARAM)(hwndMaximize), 0L)
761:
1.1.1.3 ! root 762: /* BOOL Cls_MDITile(HWND hwnd, UINT cmd) */
1.1 root 763: #define HANDLE_WM_MDITILE(hwnd, wParam, lParam, fn) \
764: (LRESULT)(DWORD)(fn)((hwnd), (UINT)(wParam))
765: #define FORWARD_WM_MDITILE(hwnd, cmd, fn) \
766: (BOOL)(DWORD)(fn)((hwnd), WM_MDITILE, (WPARAM)(cmd), 0L)
767:
1.1.1.3 ! root 768: /* BOOL Cls_MDICascade(HWND hwnd, UINT cmd) */
1.1 root 769: #define HANDLE_WM_MDICASCADE(hwnd, wParam, lParam, fn) \
770: (LRESULT)(DWORD)(fn)((hwnd), (UINT)(wParam))
771: #define FORWARD_WM_MDICASCADE(hwnd, cmd, fn) \
772: (BOOL)(DWORD)(fn)((hwnd), WM_MDICASCADE, (WPARAM)(cmd), 0L)
773:
1.1.1.3 ! root 774: /* void Cls_MDIIconArrange(HWND hwnd) */
1.1 root 775: #define HANDLE_WM_MDIICONARRANGE(hwnd, wParam, lParam, fn) \
776: ((fn)(hwnd), 0L)
777: #define FORWARD_WM_MDIICONARRANGE(hwnd, fn) \
1.1.1.3 ! root 778: (void)(fn)((hwnd), WM_MDIICONARRANGE, 0L, 0L)
1.1 root 779:
1.1.1.3 ! root 780: /* HWND Cls_MDIGetActive(HWND hwnd) */
1.1 root 781: #define HANDLE_WM_MDIGETACTIVE(hwnd, wParam, lParam, fn) \
782: (LRESULT)(DWORD)(UINT)(fn)(hwnd)
783: #define FORWARD_WM_MDIGETACTIVE(hwnd, fn) \
1.1.1.3 ! root 784: (HWND)(UINT)(DWORD)(fn)((hwnd), WM_MDIGETACTIVE, 0L, 0L)
1.1 root 785:
1.1.1.3 ! root 786: /* HMENU Cls_MDISetMenu(HWND hwnd, BOOL fRefresh, HMENU hmenuFrame, HMENU hmenuWindow) */
1.1 root 787: #define HANDLE_WM_MDISETMENU(hwnd, wParam, lParam, fn) \
788: (LRESULT)(DWORD)(UINT)(fn)((hwnd), (BOOL)(wParam), (HMENU)(wParam), (HMENU)(lParam))
789: #define FORWARD_WM_MDISETMENU(hwnd, fRefresh, hmenuFrame, hmenuWindow, fn) \
790: (HMENU)(UINT)(DWORD)(fn)((hwnd), WM_MDISETMENU, (WPARAM)((fRefresh) ? (hmenuFrame) : 0), (LPARAM)(hmenuWindow))
791:
1.1.1.3 ! root 792: /* void Cls_OnChildActivate(HWND hwnd) */
1.1 root 793: #define HANDLE_WM_CHILDACTIVATE(hwnd, wParam, lParam, fn) \
794: ((fn)(hwnd), 0L)
795: #define FORWARD_WM_CHILDACTIVATE(hwnd, fn) \
1.1.1.3 ! root 796: (void)(fn)((hwnd), WM_CHILDACTIVATE, 0L, 0L)
1.1 root 797:
1.1.1.3 ! root 798: /* BOOL Cls_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) */
1.1 root 799: #define HANDLE_WM_INITDIALOG(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 800: (LRESULT)(DWORD)(UINT)(BOOL)(fn)((hwnd), (HWND)(wParam), lParam)
1.1 root 801: #define FORWARD_WM_INITDIALOG(hwnd, hwndFocus, lParam, fn) \
802: (BOOL)(DWORD)(fn)((hwnd), WM_INITDIALOG, (WPARAM)(HWND)(hwndFocus), (lParam))
803:
804: /* HWND Cls_OnNextDlgCtl(HWND hwnd, HWND hwndSetFocus, BOOL fNext) */
805: #define HANDLE_WM_NEXTDLGCTL(hwnd, wParam, lParam, fn) \
806: (LRESULT)(DWORD)(UINT)(HWND)(fn)((hwnd), (HWND)(wParam), (BOOL)(lParam))
807: #define FORWARD_WM_NEXTDLGCTL(hwnd, hwndSetFocus, fNext, fn) \
808: (HWND)(UINT)(DWORD)(fn)((hwnd), WM_NEXTDLGCTL, (WPARAM)(HWND)(hwndSetFocus), (LPARAM)(fNext))
809:
1.1.1.3 ! root 810: /* void Cls_OnParentNotify(HWND hwnd, UINT msg, HWND hwndChild, int idChild) */
1.1 root 811: #define HANDLE_WM_PARENTNOTIFY(hwnd, wParam, lParam, fn) \
812: ((fn)((hwnd), (UINT)LOWORD(wParam), (HWND)(lParam), (UINT)HIWORD(wParam)), 0L)
813: #define FORWARD_WM_PARENTNOTIFY(hwnd, msg, hwndChild, idChild, fn) \
1.1.1.3 ! root 814: (void)(fn)((hwnd), WM_PARENTNOTIFY, MAKEWPARAM(msg, idChild), (LPARAM)(hwndChild))
1.1 root 815:
1.1.1.3 ! root 816: /* void Cls_OnEnterIdle(HWND hwnd, UINT source, HWND hwndSource) */
1.1 root 817: #define HANDLE_WM_ENTERIDLE(hwnd, wParam, lParam, fn) \
818: ((fn)((hwnd), (UINT)(wParam), (HWND)(lParam)), 0L)
819: #define FORWARD_WM_ENTERIDLE(hwnd, source, hwndSource, fn) \
820: (void)(fn)((hwnd), WM_ENTERIDLE, (WPARAM)(UINT)(source), (LPARAM)(HWND)(hwndSource))
821:
1.1.1.3 ! root 822: /* UINT Cls_OnGetDlgCode(HWND hwnd, LPMSG lpmsg) */
1.1 root 823: #define HANDLE_WM_GETDLGCODE(hwnd, wParam, lParam, fn) \
824: (LRESULT)(DWORD)(UINT)(fn)(hwnd, (LPMSG)(lParam))
825: #define FORWARD_WM_GETDLGCODE(hwnd, lpmsg, fn) \
826: (UINT)(DWORD)(fn)((hwnd), WM_GETDLGCODE, (lpmsg ? lpmsg->wParam : 0), (LPARAM)(lpmsg))
827:
1.1.1.3 ! root 828: /* HBRUSH Cls_OnCtlColor(HWND hwnd, HDC hdc, HWND hwndChild, int type) */
1.1 root 829: #define HANDLE_WM_CTLCOLORMSGBOX(hwnd, wParam, lParam, fn) \
830: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_MSGBOX)
831: #define FORWARD_WM_CTLCOLORMSGBOX(hwnd, hdc, hwndChild, fn) \
832: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORMSGBOX, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
833:
834: #define HANDLE_WM_CTLCOLOREDIT(hwnd, wParam, lParam, fn) \
835: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_EDIT)
836: #define FORWARD_WM_CTLCOLOREDIT(hwnd, hdc, hwndChild, fn) \
837: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLOREDIT, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
838:
839: #define HANDLE_WM_CTLCOLORLISTBOX(hwnd, wParam, lParam, fn) \
840: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_LISTBOX)
841: #define FORWARD_WM_CTLCOLORLISTBOX(hwnd, hdc, hwndChild, fn) \
842: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORLISTBOX, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
843:
844: #define HANDLE_WM_CTLCOLORBTN(hwnd, wParam, lParam, fn) \
845: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_BTN)
846: #define FORWARD_WM_CTLCOLORBTN(hwnd, hdc, hwndChild, fn) \
847: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORBTN, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
848:
849: #define HANDLE_WM_CTLCOLORDLG(hwnd, wParam, lParam, fn) \
850: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_DLG)
851: #define FORWARD_WM_CTLCOLORDLG(hwnd, hdc, hwndChild, fn) \
852: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORDLG, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
853:
854: #define HANDLE_WM_CTLCOLORSCROLLBAR(hwnd, wParam, lParam, fn) \
855: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_SCROLLBAR)
856: #define FORWARD_WM_CTLCOLORSCROLLBAR(hwnd, hdc, hwndChild, fn) \
857: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORSCROLLBAR, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
858:
859: #define HANDLE_WM_CTLCOLORSTATIC(hwnd, wParam, lParam, fn) \
860: (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_STATIC)
861: #define FORWARD_WM_CTLCOLORSTATIC(hwnd, hdc, hwndChild, fn) \
862: (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORSTATIC, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
863:
1.1.1.3 ! root 864: /* void Cls_OnSetFont(HWND hwndCtl, HFONT hfont, BOOL fRedraw) */
1.1 root 865: #define HANDLE_WM_SETFONT(hwnd, wParam, lParam, fn) \
866: ((fn)((hwnd), (HFONT)(wParam), (BOOL)(lParam)), 0L)
867: #define FORWARD_WM_SETFONT(hwnd, hfont, fRedraw, fn) \
868: (void)(fn)((hwnd), WM_SETFONT, (WPARAM)(HFONT)(hfont), (LPARAM)(BOOL)(fRedraw))
869:
1.1.1.3 ! root 870: /* HFONT Cls_OnGetFont(HWND hwnd) */
1.1 root 871: #define HANDLE_WM_GETFONT(hwnd, wParam, lParam, fn) \
872: (LRESULT)(DWORD)(UINT)(HFONT)(fn)(hwnd)
873: #define FORWARD_WM_GETFONT(hwnd, fn) \
1.1.1.3 ! root 874: (HFONT)(UINT)(DWORD)(fn)((hwnd), WM_GETFONT, 0L, 0L)
1.1 root 875:
1.1.1.3 ! root 876: /* void Cls_OnDrawItem(HWND hwnd, const DRAWITEMSTRUCT * lpDrawItem) */
1.1 root 877: #define HANDLE_WM_DRAWITEM(hwnd, wParam, lParam, fn) \
878: ((fn)((hwnd), (const DRAWITEMSTRUCT *)(lParam)), 0L)
879: #define FORWARD_WM_DRAWITEM(hwnd, lpDrawItem, fn) \
1.1.1.3 ! root 880: (void)(fn)((hwnd), WM_DRAWITEM, (WPARAM)(((const DRAWITEMSTRUCT *)lpDrawItem)->CtlID), (LPARAM)(const DRAWITEMSTRUCT *)(lpDrawItem))
1.1 root 881:
1.1.1.3 ! root 882: /* void Cls_OnMeasureItem(HWND hwnd, MEASUREITEMSTRUCT * lpMeasureItem) */
1.1 root 883: #define HANDLE_WM_MEASUREITEM(hwnd, wParam, lParam, fn) \
884: ((fn)((hwnd), (MEASUREITEMSTRUCT *)(lParam)), 0L)
885: #define FORWARD_WM_MEASUREITEM(hwnd, lpMeasureItem, fn) \
1.1.1.3 ! root 886: (void)(fn)((hwnd), WM_MEASUREITEM, (WPARAM)(((MEASUREITEMSTRUCT *)lpMeasureItem)->CtlID), (LPARAM)(MEASUREITEMSTRUCT *)(lpMeasureItem))
1.1 root 887:
888: /* void Cls_OnDeleteItem(HWND hwnd, const DELETEITEMSTRUCT * lpDeleteItem) */
889: #define HANDLE_WM_DELETEITEM(hwnd, wParam, lParam, fn) \
890: ((fn)((hwnd), (const DELETEITEMSTRUCT *)(lParam)), 0L)
891: #define FORWARD_WM_DELETEITEM(hwnd, lpDeleteItem, fn) \
1.1.1.3 ! root 892: (void)(fn)((hwnd), WM_DELETEITEM, (WPARAM)(((const DELETEITEMSTRUCT *)(lpDeleteItem))->CtlID), (LPARAM)(const DELETEITEMSTRUCT *)(lpDeleteItem))
1.1 root 893:
1.1.1.3 ! root 894: /* int Cls_OnCompareItem(HWND hwnd, const COMPAREITEMSTRUCT * lpCompareItem) */
1.1 root 895: #define HANDLE_WM_COMPAREITEM(hwnd, wParam, lParam, fn) \
896: (LRESULT)(DWORD)(int)(fn)((hwnd), (const COMPAREITEMSTRUCT *)(lParam))
897: #define FORWARD_WM_COMPAREITEM(hwnd, lpCompareItem, fn) \
1.1.1.3 ! root 898: (int)(DWORD)(fn)((hwnd), WM_COMPAREITEM, (WPARAM)(((const COMPAREITEMSTRUCT *)(lpCompareItem))->CtlID), (LPARAM)(const COMPAREITEMSTRUCT *)(lpCompareItem))
1.1 root 899:
1.1.1.3 ! root 900: /* int Cls_OnVkeyToItem(HWND hwnd, UINT vk, HWND hwndListbox, int iCaret) */
1.1 root 901: #define HANDLE_WM_VKEYTOITEM(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 902: (LRESULT)(DWORD)(int)(fn)((hwnd), (UINT)LOWORD(wParam), (HWND)(lParam), (int)(short)HIWORD(wParam))
1.1 root 903: #define FORWARD_WM_VKEYTOITEM(hwnd, vk, hwndListBox, iCaret, fn) \
1.1.1.3 ! root 904: (int)(DWORD)(fn)((hwnd), WM_VKEYTOITEM, MAKEWPARAM((vk), (iCaret)), (LPARAM)(hwndListBox))
1.1 root 905:
1.1.1.3 ! root 906: /* int Cls_OnCharToItem(HWND hwnd, UINT ch, HWND hwndListbox, int iCaret) */
1.1 root 907: #define HANDLE_WM_CHARTOITEM(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 908: (LRESULT)(DWORD)(int)(fn)((hwnd), (UINT)LOWORD(wParam), (HWND)(lParam), (int)(short)HIWORD(wParam))
1.1 root 909: #define FORWARD_WM_CHARTOITEM(hwnd, ch, hwndListBox, iCaret, fn) \
910: (int)(DWORD)(fn)((hwnd), WM_CHARTOITEM, MAKEWPARAM((UINT)(iCaret), (UINT)(ch)), (LPARAM)(hwndListBox))
911:
1.1.1.3 ! root 912: /* void Cls_OnQueueSync(HWND hwnd) */
1.1 root 913: #define HANDLE_WM_QUEUESYNC(hwnd, wParam, lParam, fn) \
914: ((fn)(hwnd), 0L)
915: #define FORWARD_WM_QUEUESYNC(hwnd, fn) \
1.1.1.3 ! root 916: (void)(fn)((hwnd), WM_QUEUESYNC, 0L, 0L)
1.1 root 917: #if (WINVER >= 0x030a)
1.1.1.3 ! root 918: /* void Cls_OnCommNotify(HWND hwnd, int cid, UINT flags) */
1.1 root 919: #define HANDLE_WM_COMMNOTIFY(hwnd, wParam, lParam, fn) \
1.1.1.3 ! root 920: ((fn)((hwnd), (int)(wParam), (UINT)LOWORD(lParam)), 0L)
1.1 root 921: #define FORWARD_WM_COMMNOTIFY(hwnd, cid, flags, fn) \
922: (void)(fn)((hwnd), WM_COMMNOTIFY, (WPARAM)(cid), MAKELPARAM((flags), 0))
923: #endif
924: /****** Static control message APIs ******************************************/
925:
926: #define Static_Enable(hwndCtl, fEnable) EnableWindow((hwndCtl), (fEnable))
927:
928: #define Static_GetText(hwndCtl, lpch, cchMax) GetWindowText((hwndCtl), (lpch), (cchMax))
929: #define Static_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
930: #define Static_SetText(hwndCtl, lpsz) SetWindowText((hwndCtl), (lpsz))
931:
932: #define Static_SetIcon(hwndCtl, hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl), STM_SETICON, (WPARAM)(HICON)(hIcon), 0L))
1.1.1.3 ! root 933: #define Static_GetIcon(hwndCtl, hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl), STM_GETICON, 0L, 0L))
1.1 root 934:
935: /****** Button control message APIs ******************************************/
936:
937: #define Button_Enable(hwndCtl, fEnable) EnableWindow((hwndCtl), (fEnable))
938:
939: #define Button_GetText(hwndCtl, lpch, cchMax) GetWindowText((hwndCtl), (lpch), (cchMax))
940: #define Button_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
941: #define Button_SetText(hwndCtl, lpsz) SetWindowText((hwndCtl), (lpsz))
942:
1.1.1.3 ! root 943: #define Button_GetCheck(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), BM_GETCHECK, 0L, 0L))
1.1 root 944: #define Button_SetCheck(hwndCtl, check) ((void)SendMessage((hwndCtl), BM_SETCHECK, (WPARAM)(int)(check), 0L))
945:
1.1.1.3 ! root 946: #define Button_GetState(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), BM_GETSTATE, 0L, 0L))
1.1 root 947: #define Button_SetState(hwndCtl, state) ((UINT)(DWORD)SendMessage((hwndCtl), BM_SETSTATE, (WPARAM)(int)(state), 0L))
948:
949: #define Button_SetStyle(hwndCtl, style, fRedraw) ((void)SendMessage((hwndCtl), BM_SETSTYLE, (WPARAM)LOWORD(style), MAKELPARAM(((fRedraw) ? TRUE : FALSE), 0)))
950:
951: /****** Edit control message APIs ********************************************/
952:
953: #define Edit_Enable(hwndCtl, fEnable) EnableWindow((hwndCtl), (fEnable))
954:
955: #define Edit_GetText(hwndCtl, lpch, cchMax) GetWindowText((hwndCtl), (lpch), (cchMax))
956: #define Edit_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
957: #define Edit_SetText(hwndCtl, lpsz) SetWindowText((hwndCtl), (lpsz))
958:
959: #define Edit_LimitText(hwndCtl, cchMax) ((void)SendMessage((hwndCtl), EM_LIMITTEXT, (WPARAM)(cchMax), 0L))
960:
1.1.1.3 ! root 961: #define Edit_GetLineCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), EM_GETLINECOUNT, 0L, 0L))
1.1 root 962: #define Edit_GetLine(hwndCtl, line, lpch, cchMax) ((*((int *)(lpch)) = (cchMax)), ((int)(DWORD)SendMessage((hwndCtl), EM_GETLINE, (WPARAM)(int)(line), (LPARAM)(LPTSTR)(lpch))))
963:
1.1.1.3 ! root 964: #define Edit_GetRect(hwndCtl, lprc) ((void)SendMessage((hwndCtl), EM_GETRECT, 0L, (LPARAM)(RECT *)(lprc)))
! 965: #define Edit_SetRect(hwndCtl, lprc) ((void)SendMessage((hwndCtl), EM_SETRECT, 0L, (LPARAM)(const RECT *)(lprc)))
! 966: #define Edit_SetRectNoPaint(hwndCtl, lprc) ((void)SendMessage((hwndCtl), EM_SETRECTNP, 0L, (LPARAM)(const RECT *)(lprc)))
! 967:
! 968: #define Edit_GetSel(hwndCtl) ((DWORD)SendMessage((hwndCtl), EM_GETSEL, 0L, 0L))
! 969: #define Edit_SetSel(hwndCtl, ichStart, ichEnd) ((void)SendMessage((hwndCtl), EM_SETSEL, (ichStart), (ichEnd)))
! 970: #define Edit_ReplaceSel(hwndCtl, lpszReplace) ((void)SendMessage((hwndCtl), EM_REPLACESEL, 0L, (LPARAM)(LPCTSTR)(lpszReplace)))
1.1 root 971:
1.1.1.3 ! root 972: #define Edit_GetModify(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl), EM_GETMODIFY, 0L, 0L))
1.1 root 973: #define Edit_SetModify(hwndCtl, fModified) ((void)SendMessage((hwndCtl), EM_SETMODIFY, (WPARAM)(UINT)(fModified), 0L))
974:
1.1.1.3 ! root 975: #define Edit_ScrollCaret(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl), EM_SCROLLCARET, 0, 0L))
! 976:
1.1 root 977: #define Edit_LineFromChar(hwndCtl, ich) ((int)(DWORD)SendMessage((hwndCtl), EM_LINEFROMCHAR, (WPARAM)(int)(ich), 0L))
978: #define Edit_LineIndex(hwndCtl, line) ((int)(DWORD)SendMessage((hwndCtl), EM_LINEINDEX, (WPARAM)(int)(line), 0L))
979: #define Edit_LineLength(hwndCtl, line) ((int)(DWORD)SendMessage((hwndCtl), EM_LINELENGTH, (WPARAM)(int)(line), 0L))
980:
1.1.1.3 ! root 981: #define Edit_Scroll(hwndCtl, dv, dh) ((void)SendMessage((hwndCtl), EM_LINESCROLL, (WPARAM)(dh), (LPARAM)(dv)))
1.1 root 982:
1.1.1.3 ! root 983: #define Edit_CanUndo(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl), EM_CANUNDO, 0L, 0L))
! 984: #define Edit_Undo(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl), EM_UNDO, 0L, 0L))
! 985: #define Edit_EmptyUndoBuffer(hwndCtl) ((void)SendMessage((hwndCtl), EM_EMPTYUNDOBUFFER, 0L, 0L))
1.1 root 986:
987: #define Edit_SetPasswordChar(hwndCtl, ch) ((void)SendMessage((hwndCtl), EM_SETPASSWORDCHAR, (WPARAM)(UINT)(ch), 0L))
988:
989: #define Edit_SetTabStops(hwndCtl, cTabs, lpTabs) ((void)SendMessage((hwndCtl), EM_SETTABSTOPS, (WPARAM)(int)(cTabs), (LPARAM)(const int *)(lpTabs)))
990:
991: #define Edit_FmtLines(hwndCtl, fAddEOL) ((BOOL)(DWORD)SendMessage((hwndCtl), EM_FMTLINES, (WPARAM)(BOOL)(fAddEOL), 0L))
992:
1.1.1.3 ! root 993: #define Edit_GetHandle(hwndCtl) ((HLOCAL)(UINT)(DWORD)SendMessage((hwndCtl), EM_GETHANDLE, 0L, 0L))
1.1 root 994: #define Edit_SetHandle(hwndCtl, h) ((void)SendMessage((hwndCtl), EM_SETHANDLE, (WPARAM)(UINT)(HLOCAL)(h), 0L))
995:
996: #if (WINVER >= 0x030a)
1.1.1.3 ! root 997: #define Edit_GetFirstVisibleLine(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), EM_GETFIRSTVISIBLELINE, 0L, 0L))
1.1 root 998:
999: #define Edit_SetReadOnly(hwndCtl, fReadOnly) ((BOOL)(DWORD)SendMessage((hwndCtl), EM_SETREADONLY, (WPARAM)(BOOL)(fReadOnly), 0L))
1000:
1.1.1.3 ! root 1001: #define Edit_GetPasswordChar(hwndCtl) ((char)(DWORD)SendMessage((hwndCtl), EM_GETPASSWORDCHAR, 0L, 0L))
1.1 root 1002:
1.1.1.3 ! root 1003: #define Edit_SetWordBreakProc(hwndCtl, lpfnWordBreak) ((void)SendMessage((hwndCtl), EM_SETWORDBREAKPROC, 0L, (LPARAM)(EDITWORDBREAKPROC)(lpfnWordBreak)))
! 1004: #define Edit_GetWordBreakProc(hwndCtl) ((EDITWORDBREAKPROC)SendMessage((hwndCtl), EM_GETWORDBREAKPROC, 0L, 0L))
1.1 root 1005: #endif /* WINVER >= 0x030a */
1006:
1007: /****** ScrollBar control message APIs ***************************************/
1008:
1009: /* NOTE: flags parameter is a collection of ESB_* values, NOT a boolean! */
1010: #define ScrollBar_Enable(hwndCtl, flags) EnableScrollBar((hwndCtl), SB_CTL, (flags))
1011:
1012: #define ScrollBar_Show(hwndCtl, fShow) ShowWindow((hwndCtl), (fShow) ? SW_SHOWNORMAL : SW_HIDE)
1013:
1014: #define ScrollBar_SetPos(hwndCtl, pos, fRedraw) SetScrollPos((hwndCtl), SB_CTL, (pos), (fRedraw))
1015: #define ScrollBar_GetPos(hwndCtl) GetScrollPos((hwndCtl), SB_CTL)
1016:
1017: #define ScrollBar_SetRange(hwndCtl, posMin, posMax, fRedraw) SetScrollRange((hwndCtl), SB_CTL, (posMin), (posMax), (fRedraw))
1018: #define ScrollBar_GetRange(hwndCtl, lpposMin, lpposMax) GetScrollRange((hwndCtl), SB_CTL, (lpposMin), (lpposMax))
1019:
1020: /****** ListBox control message APIs *****************************************/
1021:
1022: #define ListBox_Enable(hwndCtl, fEnable) EnableWindow((hwndCtl), (fEnable))
1023:
1.1.1.3 ! root 1024: #define ListBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), LB_GETCOUNT, 0L, 0L))
! 1025: #define ListBox_ResetContent(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl), LB_RESETCONTENT, 0L, 0L))
1.1 root 1026:
1.1.1.3 ! root 1027: #define ListBox_AddString(hwndCtl, lpsz) ((int)(DWORD)SendMessage((hwndCtl), LB_ADDSTRING, 0L, (LPARAM)(LPCTSTR)(lpsz)))
1.1 root 1028: #define ListBox_InsertString(hwndCtl, index, lpsz) ((int)(DWORD)SendMessage((hwndCtl), LB_INSERTSTRING, (WPARAM)(int)(index), (LPARAM)(LPCTSTR)(lpsz)))
1029:
1.1.1.3 ! root 1030: #define ListBox_AddItemData(hwndCtl, data) ((int)(DWORD)SendMessage((hwndCtl), LB_ADDSTRING, 0L, (LPARAM)(data)))
1.1 root 1031: #define ListBox_InsertItemData(hwndCtl, index, data) ((int)(DWORD)SendMessage((hwndCtl), LB_INSERTSTRING, (WPARAM)(int)(index), (LPARAM)(data)))
1032:
1033: #define ListBox_DeleteString(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), LB_DELETESTRING, (WPARAM)(int)(index), 0L))
1034:
1035: #define ListBox_GetTextLen(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), LB_GETTEXTLEN, (WPARAM)(int)(index), 0L))
1036: #define ListBox_GetText(hwndCtl, index, lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl), LB_GETTEXT, (WPARAM)(int)(index), (LPARAM)(LPCTSTR)(lpszBuffer)))
1037:
1038: #define ListBox_GetItemData(hwndCtl, index) ((LRESULT)(DWORD)SendMessage((hwndCtl), LB_GETITEMDATA, (WPARAM)(int)(index), 0L))
1039: #define ListBox_SetItemData(hwndCtl, index, data) ((int)(DWORD)SendMessage((hwndCtl), LB_SETITEMDATA, (WPARAM)(int)(index), (LPARAM)(data)))
1040:
1041: #if (WINVER >= 0x030a)
1042: #define ListBox_FindString(hwndCtl, indexStart, lpszFind) ((int)(DWORD)SendMessage((hwndCtl), LB_FINDSTRING, (WPARAM)(int)(indexStart), (LPARAM)(LPCTSTR)(lpszFind)))
1043: #define ListBox_FindItemData(hwndCtl, indexStart, data) ((int)(DWORD)SendMessage((hwndCtl), LB_FINDSTRING, (WPARAM)(int)(indexStart), (LPARAM)(data)))
1044:
1.1.1.3 ! root 1045: #define ListBox_SetSel(hwndCtl, fSelect, index) ((int)(DWORD)SendMessage((hwndCtl), LB_SETSEL, (WPARAM)(BOOL)(fSelect), (LPARAM)(index)))
1.1 root 1046: #define ListBox_SelItemRange(hwndCtl, fSelect, first, last) ((int)(DWORD)SendMessage((hwndCtl), LB_SELITEMRANGE, (WPARAM)(BOOL)(fSelect), MAKELPARAM((first), (last))))
1047:
1.1.1.3 ! root 1048: #define ListBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), LB_GETCURSEL, 0L, 0L))
1.1 root 1049: #define ListBox_SetCurSel(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), LB_SETCURSEL, (WPARAM)(int)(index), 0L))
1050:
1051: #define ListBox_SelectString(hwndCtl, indexStart, lpszFind) ((int)(DWORD)SendMessage((hwndCtl), LB_SELECTSTRING, (WPARAM)(int)(indexStart), (LPARAM)(LPCTSTR)(lpszFind)))
1052: #define ListBox_SelectItemData(hwndCtl, indexStart, data) ((int)(DWORD)SendMessage((hwndCtl), LB_SELECTSTRING, (WPARAM)(int)(indexStart), (LPARAM)(data)))
1053:
1054: #define ListBox_GetSel(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), LB_GETSEL, (WPARAM)(int)(index), 0L))
1.1.1.3 ! root 1055: #define ListBox_GetSelCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), LB_GETSELCOUNT, 0L, 0L))
! 1056: #define ListBox_GetTopIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), LB_GETTOPINDEX, 0L, 0L))
1.1 root 1057: #define ListBox_GetSelItems(hwndCtl, cItems, lpItems) ((int)(DWORD)SendMessage((hwndCtl), LB_GETSELITEMS, (WPARAM)(int)(cItems), (LPARAM)(int *)(lpItems)))
1058:
1059: #define ListBox_SetTopIndex(hwndCtl, indexTop) ((int)(DWORD)SendMessage((hwndCtl), LB_SETTOPINDEX, (WPARAM)(int)(indexTop), 0L))
1060:
1061: #define ListBox_SetColumnWidth(hwndCtl, cxColumn) ((void)SendMessage((hwndCtl), LB_SETCOLUMNWIDTH, (WPARAM)(int)(cxColumn), 0L))
1.1.1.3 ! root 1062: #define ListBox_GetHorizontalExtent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), LB_GETHORIZONTALEXTENT, 0L, 0L))
1.1 root 1063: #define ListBox_SetHorizontalExtent(hwndCtl, cxExtent) ((void)SendMessage((hwndCtl), LB_SETHORIZONTALEXTENT, (WPARAM)(int)(cxExtent), 0L))
1064:
1065: #define ListBox_SetTabStops(hwndCtl, cTabs, lpTabs) ((BOOL)(DWORD)SendMessage((hwndCtl), LB_SETTABSTOPS, (WPARAM)(int)(cTabs), (LPARAM)(int *)(lpTabs)))
1066:
1067: #define ListBox_GetItemRect(hwndCtl, index, lprc) ((int)(DWORD)SendMessage((hwndCtl), LB_GETITEMRECT, (WPARAM)(int)(index), (LPARAM)(RECT *)(lprc)))
1068:
1069: #define ListBox_SetCaretIndex(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), LB_SETCARETINDEX, (WPARAM)(int)(index), 0L))
1.1.1.3 ! root 1070: #define ListBox_GetCaretIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), LB_GETCARETINDEX, 0L, 0L))
1.1 root 1071:
1072: #define ListBox_FindStringExact(hwndCtl, indexStart, lpszFind) ((int)(DWORD)SendMessage((hwndCtl), LB_FINDSTRINGEXACT, (WPARAM)(int)(indexStart), (LPARAM)(LPCTSTR)(lpszFind)))
1073:
1074: #define ListBox_SetItemHeight(hwndCtl, index, cy) ((int)(DWORD)SendMessage((hwndCtl), LB_SETITEMHEIGHT, (WPARAM)(int)(index), MAKELPARAM((cy), 0)))
1075: #define ListBox_GetItemHeight(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), LB_GETITEMHEIGHT, (WPARAM)(int)(index), 0L))
1076: #endif /* WINVER >= 0x030a */
1077:
1078: #define ListBox_Dir(hwndCtl, attrs, lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl), LB_DIR, (WPARAM)(UINT)(attrs), (LPARAM)(LPCTSTR)(lpszFileSpec)))
1079:
1080: /****** ComboBox control message APIs ****************************************/
1081:
1082: #define ComboBox_Enable(hwndCtl, fEnable) EnableWindow((hwndCtl), (fEnable))
1083:
1084: #define ComboBox_GetText(hwndCtl, lpch, cchMax) GetWindowText((hwndCtl), (lpch), (cchMax))
1085: #define ComboBox_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
1086: #define ComboBox_SetText(hwndCtl, lpsz) SetWindowText((hwndCtl), (lpsz))
1087:
1088: #define ComboBox_LimitText(hwndCtl, cchLimit) ((int)(DWORD)SendMessage((hwndCtl), CB_LIMITTEXT, (WPARAM)(int)(cchLimit), 0L))
1089:
1.1.1.3 ! root 1090: #define ComboBox_GetEditSel(hwndCtl) ((DWORD)SendMessage((hwndCtl), CB_GETEDITSEL, 0L, 0L))
! 1091: #define ComboBox_SetEditSel(hwndCtl, ichStart, ichEnd) ((int)(DWORD)SendMessage((hwndCtl), CB_SETEDITSEL, 0L, MAKELPARAM((ichStart), (ichEnd))))
1.1 root 1092:
1.1.1.3 ! root 1093: #define ComboBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), CB_GETCOUNT, 0L, 0L))
! 1094: #define ComboBox_ResetContent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), CB_RESETCONTENT, 0L, 0L))
1.1 root 1095:
1.1.1.3 ! root 1096: #define ComboBox_AddString(hwndCtl, lpsz) ((int)(DWORD)SendMessage((hwndCtl), CB_ADDSTRING, 0L, (LPARAM)(LPCTSTR)(lpsz)))
1.1 root 1097: #define ComboBox_InsertString(hwndCtl, index, lpsz) ((int)(DWORD)SendMessage((hwndCtl), CB_INSERTSTRING, (WPARAM)(int)(index), (LPARAM)(LPCTSTR)(lpsz)))
1098:
1.1.1.3 ! root 1099: #define ComboBox_AddItemData(hwndCtl, data) ((int)(DWORD)SendMessage((hwndCtl), CB_ADDSTRING, 0L, (LPARAM)(data)))
1.1 root 1100: #define ComboBox_InsertItemData(hwndCtl, index, data) ((int)(DWORD)SendMessage((hwndCtl), CB_INSERTSTRING, (WPARAM)(int)(index), (LPARAM)(data)))
1101:
1102: #define ComboBox_DeleteString(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), CB_DELETESTRING, (WPARAM)(int)(index), 0L))
1103:
1104: #define ComboBox_GetLBTextLen(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), CB_GETLBTEXTLEN, (WPARAM)(int)(index), 0L))
1105: #define ComboBox_GetLBText(hwndCtl, index, lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl), CB_GETLBTEXT, (WPARAM)(int)(index), (LPARAM)(LPCTSTR)(lpszBuffer)))
1106:
1107: #define ComboBox_GetItemData(hwndCtl, index) ((LRESULT)(DWORD)SendMessage((hwndCtl), CB_GETITEMDATA, (WPARAM)(int)(index), 0L))
1108: #define ComboBox_SetItemData(hwndCtl, index, data) ((int)(DWORD)SendMessage((hwndCtl), CB_SETITEMDATA, (WPARAM)(int)(index), (LPARAM)(data)))
1109:
1110: #define ComboBox_FindString(hwndCtl, indexStart, lpszFind) ((int)(DWORD)SendMessage((hwndCtl), CB_FINDSTRING, (WPARAM)(int)(indexStart), (LPARAM)(LPCTSTR)(lpszFind)))
1111: #define ComboBox_FindItemData(hwndCtl, indexStart, data) ((int)(DWORD)SendMessage((hwndCtl), CB_FINDSTRING, (WPARAM)(int)(indexStart), (LPARAM)(data)))
1112:
1.1.1.3 ! root 1113: #define ComboBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), CB_GETCURSEL, 0L, 0L))
1.1 root 1114: #define ComboBox_SetCurSel(hwndCtl, index) ((int)(DWORD)SendMessage((hwndCtl), CB_SETCURSEL, (WPARAM)(int)(index), 0L))
1115:
1116: #define ComboBox_SelectString(hwndCtl, indexStart, lpszSelect) ((int)(DWORD)SendMessage((hwndCtl), CB_SELECTSTRING, (WPARAM)(int)(indexStart), (LPARAM)(LPCTSTR)(lpszSelect)))
1117: #define ComboBox_SelectItemData(hwndCtl, indexStart, data) ((int)(DWORD)SendMessage((hwndCtl), CB_SELECTSTRING, (WPARAM)(int)(indexStart), (LPARAM)(data)))
1118:
1119: #define ComboBox_Dir(hwndCtl, attrs, lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl), CB_DIR, (WPARAM)(UINT)(attrs), (LPARAM)(LPCTSTR)(lpszFileSpec)))
1120:
1121: #define ComboBox_ShowDropdown(hwndCtl, fShow) ((BOOL)(DWORD)SendMessage((hwndCtl), CB_SHOWDROPDOWN, (WPARAM)(BOOL)(fShow), 0L))
1122:
1123: #if (WINVER >= 0x030a)
1124: #define ComboBox_FindStringExact(hwndCtl, indexStart, lpszFind) ((int)(DWORD)SendMessage((hwndCtl), CB_FINDSTRINGEXACT, (WPARAM)(int)(indexStart), (LPARAM)(LPCTSTR)(lpszFind)))
1125:
1.1.1.3 ! root 1126: #define ComboBox_GetDroppedState(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl), CB_GETDROPPEDSTATE, 0L, 0L))
! 1127: #define ComboBox_GetDroppedControlRect(hwndCtl, lprc) ((void)SendMessage((hwndCtl), CB_GETDROPPEDCONTROLRECT, 0L, (LPARAM)(RECT *)(lprc)))
1.1 root 1128:
1.1.1.3 ! root 1129: #define ComboBox_GetItemHeight(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl), CB_GETITEMHEIGHT, 0L, 0L))
1.1 root 1130: #define ComboBox_SetItemHeight(hwndCtl, cyItem) ((int)(DWORD)SendMessage((hwndCtl), CB_SETITEMHEIGHT, (WPARAM)(int)(index), 0L))
1131:
1.1.1.3 ! root 1132: #define ComboBox_GetExtendedUI(hwndCtl) ((UINT)(DWORD)SendMessage((hwndCtl), CB_GETEXTENDEDUI, 0L, 0L))
1.1 root 1133: #define ComboBox_SetExtendedUI(hwndCtl, flags) ((int)(DWORD)SendMessage((hwndCtl), CB_SETEXTENDEDUI, (WPARAM)(UINT)(flags), 0L))
1134: #endif /* WINVER >= 0x030a */
1135:
1136: /****** Alternate porting layer macros ****************************************/
1137:
1138: /* USER MESSAGES: */
1139:
1140: #define GET_WPARAM(wp, lp) (wp)
1141: #define GET_LPARAM(wp, lp) (lp)
1142:
1143: #define GET_WM_ACTIVATE_STATE(wp, lp) LOWORD(wp)
1144: #define GET_WM_ACTIVATE_FMINIMIZED(wp, lp) (BOOL)HIWORD(wp)
1145: #define GET_WM_ACTIVATE_HWND(wp, lp) (HWND)(lp)
1146: #define GET_WM_ACTIVATE_MPS(s, fmin, hwnd) \
1147: (WPARAM)MAKELONG((s), (fmin)), (LONG)(hwnd)
1148:
1149: #define GET_WM_CHARTOITEM_CHAR(wp, lp) (CHAR)LOWORD(wp)
1150: #define GET_WM_CHARTOITEM_POS(wp, lp) HIWORD(wp)
1151: #define GET_WM_CHARTOITEM_HWND(wp, lp) (HWND)(lp)
1152: #define GET_WM_CHARTOITEM_MPS(ch, pos, hwnd) \
1153: (WPARAM)MAKELONG((pos), (ch)), (LONG)(hwnd)
1154:
1155: #define GET_WM_COMMAND_ID(wp, lp) LOWORD(wp)
1156: #define GET_WM_COMMAND_HWND(wp, lp) (HWND)(lp)
1157: #define GET_WM_COMMAND_CMD(wp, lp) HIWORD(wp)
1158: #define GET_WM_COMMAND_MPS(id, hwnd, cmd) \
1159: (WPARAM)MAKELONG(id, cmd), (LONG)(hwnd)
1160:
1161: #define WM_CTLCOLOR 0x0019
1162:
1163: #define GET_WM_CTLCOLOR_HDC(wp, lp, msg) (HDC)(wp)
1164: #define GET_WM_CTLCOLOR_HWND(wp, lp, msg) (HWND)(lp)
1165: #define GET_WM_CTLCOLOR_TYPE(wp, lp, msg) (WORD)(msg - WM_CTLCOLORMSGBOX)
1166: #define GET_WM_CTLCOLOR_MSG(type) (WORD)(WM_CTLCOLORMSGBOX+(type))
1167: #define GET_WM_CTLCOLOR_MPS(hdc, hwnd, type) \
1168: (WPARAM)(hdc), (LONG)(hwnd)
1169:
1170:
1171: #define GET_WM_MENUSELECT_CMD(wp, lp) LOWORD(wp)
1.1.1.3 ! root 1172: #define GET_WM_MENUSELECT_FLAGS(wp, lp) (UINT)(int)(short)HIWORD(wp)
1.1 root 1173: #define GET_WM_MENUSELECT_HMENU(wp, lp) (HMENU)(lp)
1174: #define GET_WM_MENUSELECT_MPS(cmd, f, hmenu) \
1175: (WPARAM)MAKELONG(cmd, f), (LONG)(hmenu)
1176:
1.1.1.3 ! root 1177: /* Note: the following are for interpreting MDIclient to MDI child messages. */
1.1 root 1178: #define GET_WM_MDIACTIVATE_FACTIVATE(hwnd, wp, lp) (lp == (LONG)hwnd)
1179: #define GET_WM_MDIACTIVATE_HWNDDEACT(wp, lp) (HWND)(wp)
1180: #define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp, lp) (HWND)(lp)
1.1.1.3 ! root 1181: /* Note: the following is for sending to the MDI client window. */
1.1 root 1182: #define GET_WM_MDIACTIVATE_MPS(f, hwndD, hwndA)\
1183: (WPARAM)(hwndA), 0
1184:
1185: #define GET_WM_MDISETMENU_MPS(hmenuF, hmenuW) (WPARAM)hmenuF, (LONG)hmenuW
1186:
1.1.1.3 ! root 1187: #define GET_WM_MENUCHAR_CHAR(wp, lp) (CHAR)LOWORD(wp)
1.1 root 1188: #define GET_WM_MENUCHAR_HMENU(wp, lp) (HMENU)(lp)
1.1.1.3 ! root 1189: #define GET_WM_MENUCHAR_FMENU(wp, lp) (BOOL)HIWORD(wp)
1.1 root 1190: #define GET_WM_MENUCHAR_MPS(ch, hmenu, f) \
1.1.1.3 ! root 1191: (WPARAM)MAKELONG(ch, f), (LONG)(hmenu)
1.1 root 1192:
1.1.1.3 ! root 1193: #define GET_WM_PARENTNOTIFY_MSG(wp, lp) LOWORD(wp)
! 1194: #define GET_WM_PARENTNOTIFY_ID(wp, lp) HIWORD(wp)
1.1 root 1195: #define GET_WM_PARENTNOTIFY_HWNDCHILD(wp, lp) (HWND)(lp)
1.1.1.3 ! root 1196: #define GET_WM_PARENTNOTIFY_X(wp, lp) (int)(short)LOWORD(lp)
! 1197: #define GET_WM_PARENTNOTIFY_Y(wp, lp) (int)(short)HIWORD(lp)
1.1 root 1198: #define GET_WM_PARENTNOTIFY_MPS(msg, id, hwnd) \
1199: (WPARAM)MAKELONG(id, msg), (LONG)(hwnd)
1200: #define GET_WM_PARENTNOTIFY2_MPS(msg, x, y) \
1201: (WPARAM)MAKELONG(0, msg), MAKELONG(x, y)
1202:
1.1.1.3 ! root 1203: #define GET_WM_VKEYTOITEM_CODE(wp, lp) (int)(short)LOWORD(wp)
1.1 root 1204: #define GET_WM_VKEYTOITEM_ITEM(wp, lp) HIWORD(wp)
1205: #define GET_WM_VKEYTOITEM_HWND(wp, lp) (HWND)(lp)
1206: #define GET_WM_VKEYTOITEM_MPS(code, item, hwnd) \
1207: (WPARAM)MAKELONG(item, code), (LONG)(hwnd)
1208:
1209: #define GET_EM_SETSEL_START(wp, lp) (INT)(wp)
1210: #define GET_EM_SETSEL_END(wp, lp) (lp)
1211: #define GET_EM_SETSEL_MPS(iStart, iEnd) \
1212: (WPARAM)(iStart), (LONG)(iEnd)
1213:
1214: #define GET_EM_LINESCROLL_MPS(vert, horz) \
1215: (WPARAM)horz, (LONG)vert
1216:
1217: #define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp, lp) (HWND)(lp)
1218:
1219: #define GET_WM_HSCROLL_CODE(wp, lp) LOWORD(wp)
1220: #define GET_WM_HSCROLL_POS(wp, lp) HIWORD(wp)
1221: #define GET_WM_HSCROLL_HWND(wp, lp) (HWND)(lp)
1222: #define GET_WM_HSCROLL_MPS(code, pos, hwnd) \
1.1.1.3 ! root 1223: (WPARAM)MAKELONG(code, pos), (LONG)(hwnd)
1.1 root 1224:
1225: #define GET_WM_VSCROLL_CODE(wp, lp) LOWORD(wp)
1226: #define GET_WM_VSCROLL_POS(wp, lp) HIWORD(wp)
1227: #define GET_WM_VSCROLL_HWND(wp, lp) (HWND)(lp)
1228: #define GET_WM_VSCROLL_MPS(code, pos, hwnd) \
1.1.1.3 ! root 1229: (WPARAM)MAKELONG(code, pos), (LONG)(hwnd)
1.1 root 1230:
1231: /****** C runtime porting macros ****************************************/
1232:
1.1.1.3 ! root 1233: #define _ncalloc calloc
! 1234: #define _nexpand expand
! 1235: #define _ffree free
! 1236: #define _fmalloc malloc
! 1237: #define _fmemccpy _memccpy
! 1238: #define _fmemchr memchr
! 1239: #define _fmemcmp memcmp
! 1240: #define _fmemcpy memcpy
! 1241: #define _fmemicmp _memicmp
! 1242: #define _fmemmove memmove
! 1243: #define _fmemset memset
! 1244: #define _fmsize _msize
! 1245: #define _frealloc realloc
! 1246: #define _fstrcat strcat
! 1247: #define _fstrchr strchr
! 1248: #define _fstrcmp strcmp
! 1249: #define _fstrcpy strcpy
! 1250: #define _fstrcspn strcspn
! 1251: #define _fstrdup _strdup
! 1252: #define _fstricmp _stricmp
! 1253: #define _fstrlen strlen
! 1254: #define _fstrlwr _strlwr
! 1255: #define _fstrncat strncat
! 1256: #define _fstrncmp strncmp
! 1257: #define _fstrncpy strncpy
! 1258: #define _fstrnicmp _strnicmp
! 1259: #define _fstrnset _strnset
! 1260: #define _fstrpbrk strpbrk
! 1261: #define _fstrrchr strrchr
! 1262: #define _fstrrev _strrev
! 1263: #define _fstrset _strset
! 1264: #define _fstrspn strspn
! 1265: #define _fstrstr strstr
! 1266: #define _fstrtok strtok
! 1267: #define _fstrupr _strupr
! 1268: #define _nfree free
! 1269: #define _nmalloc malloc
! 1270: #define _nmsize msize
! 1271: #define _nrealloc realloc
! 1272: #define _nstrdup _strdup
! 1273: #define hmemcpy memcpy
! 1274:
! 1275: #define DECLARE_HANDLE32 DECLARE_HANDLE
1.1 root 1276:
1277: #ifdef __cplusplus
1278: } /* End of extern "C" { */
1279: #endif /* __cplusplus */
1280:
1281: #endif /* !_INC_WINDOWSX */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.