| 1 | /* $Id: wndproc.cpp,v 1.8 1999-06-26 08:25:22 sandervl Exp $ */
|
|---|
| 2 |
|
|---|
| 3 | /*
|
|---|
| 4 | * Win32 window procedure class for OS/2
|
|---|
| 5 | *
|
|---|
| 6 | * Copyright 1998 Sander van Leeuwen
|
|---|
| 7 | *
|
|---|
| 8 | *
|
|---|
| 9 | * Project Odin Software License can be found in LICENSE.TXT
|
|---|
| 10 | *
|
|---|
| 11 | */
|
|---|
| 12 | #include <os2win.h>
|
|---|
| 13 | #include <dde.h>
|
|---|
| 14 | #include <stdio.h>
|
|---|
| 15 | #include <string.h>
|
|---|
| 16 | #include <stdarg.h>
|
|---|
| 17 | #include <assert.h>
|
|---|
| 18 | #include "misc.h"
|
|---|
| 19 | #include "user32.h"
|
|---|
| 20 | #include "wndproc.h"
|
|---|
| 21 | #include "wndsubproc.h"
|
|---|
| 22 | #include "wndclass.h"
|
|---|
| 23 | #include "dlgconvert.h"
|
|---|
| 24 | #include "hooks.h"
|
|---|
| 25 | #include <spy.h>
|
|---|
| 26 |
|
|---|
| 27 | #ifdef DEBUG
|
|---|
| 28 | char *GetMsgText(int Msg);
|
|---|
| 29 | #endif
|
|---|
| 30 |
|
|---|
| 31 |
|
|---|
| 32 | void NotifyParent(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
|---|
| 33 | {
|
|---|
| 34 | DWORD dwStyle, dwExStyle;
|
|---|
| 35 | HWND hwndParent = GetParent(hwnd);;
|
|---|
| 36 |
|
|---|
| 37 | while(hwndParent) {
|
|---|
| 38 | dwStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
|---|
| 39 | dwExStyle = GetWindowLongA(hwnd, GWL_EXSTYLE);
|
|---|
| 40 | //SvL: Taken from Wine
|
|---|
| 41 | if(dwStyle & WS_CHILD && !(dwExStyle & WS_EX_NOPARENTNOTIFY) )
|
|---|
| 42 | {
|
|---|
| 43 | hwndParent = GetParent(hwnd);
|
|---|
| 44 | dprintf(("%s Send WM_PARENTNOTIFY from child %x to parent %x", GetMsgText(Msg), hwnd, hwndParent));
|
|---|
| 45 | /* Notify the parent window only */
|
|---|
| 46 | Win32WindowProc *parentwnd = Win32WindowProc::FindProc(hwndParent);
|
|---|
| 47 | if(parentwnd) {
|
|---|
| 48 | if(Msg == WM_CREATE || Msg == WM_DESTROY) {
|
|---|
| 49 | //Todo: Set IdChild!!
|
|---|
| 50 | parentwnd->GetWin32Callback()(hwndParent, WM_PARENTNOTIFY, MAKEWPARAM(Msg, 0), (LPARAM)hwnd );
|
|---|
| 51 | }
|
|---|
| 52 | else parentwnd->GetWin32Callback()(hwndParent, WM_PARENTNOTIFY, MAKEWPARAM(Msg, 0), lParam );
|
|---|
| 53 | }
|
|---|
| 54 | }
|
|---|
| 55 | if(hwnd == hwndParent) {
|
|---|
| 56 | break;
|
|---|
| 57 | }
|
|---|
| 58 | hwnd = hwndParent;
|
|---|
| 59 | }
|
|---|
| 60 | }
|
|---|
| 61 | //******************************************************************************
|
|---|
| 62 | //******************************************************************************
|
|---|
| 63 | Win32WindowProc *SYSTEM CreateWindowProc(WNDPROC pUserCallback)
|
|---|
| 64 | {
|
|---|
| 65 | return new Win32WindowProc(pUserCallback);
|
|---|
| 66 | }
|
|---|
| 67 | //******************************************************************************
|
|---|
| 68 | //******************************************************************************
|
|---|
| 69 | Win32WindowProc::Win32WindowProc(WNDPROC pUserCallback)
|
|---|
| 70 | : hwnd(0), next(NULL), os2dlg(NULL), win32class(0)
|
|---|
| 71 | {
|
|---|
| 72 | //Insert it in front of the rest
|
|---|
| 73 | next = windows;
|
|---|
| 74 | windows = this;
|
|---|
| 75 | threadid = (DWORD)GetCurrentThreadId();
|
|---|
| 76 |
|
|---|
| 77 | pCallback = pUserCallback;
|
|---|
| 78 | fIsWindow = TRUE;
|
|---|
| 79 | }
|
|---|
| 80 | //******************************************************************************
|
|---|
| 81 | //******************************************************************************
|
|---|
| 82 | Win32WindowProc::Win32WindowProc(WNDPROC pUserCallback, DLGTEMPLATE *os2dlg)
|
|---|
| 83 | : hwnd(0), next(NULL), os2dlg(NULL), win32class(0)
|
|---|
| 84 | {
|
|---|
| 85 | //Insert it in front of the rest
|
|---|
| 86 | next = windows;
|
|---|
| 87 | windows = this;
|
|---|
| 88 | threadid = (DWORD)GetCurrentThreadId();
|
|---|
| 89 | this->os2dlg = os2dlg; //delete on destruction
|
|---|
| 90 |
|
|---|
| 91 | pCallback = pUserCallback;
|
|---|
| 92 | fIsWindow = FALSE;
|
|---|
| 93 | }
|
|---|
| 94 | //******************************************************************************
|
|---|
| 95 | //******************************************************************************
|
|---|
| 96 | Win32WindowProc::Win32WindowProc(HINSTANCE hinst, LPCSTR lpszClassName)
|
|---|
| 97 | : hwnd(0), next(NULL), os2dlg(NULL)
|
|---|
| 98 | {
|
|---|
| 99 | WNDCLASSA wc;
|
|---|
| 100 | BOOL rc;
|
|---|
| 101 |
|
|---|
| 102 | rc = GetClassInfoA(hinst, lpszClassName, &wc);
|
|---|
| 103 | assert(rc == TRUE);
|
|---|
| 104 |
|
|---|
| 105 | // pCallback = Win32WindowClass::GetClassCallback(hinst, (LPSTR)wc.lpszClassName);
|
|---|
| 106 | pCallback = Win32WindowClass::GetClassCallback((LPSTR)wc.lpszClassName);
|
|---|
| 107 | //test (8nov)
|
|---|
| 108 | if(pCallback == NULL) {//system class
|
|---|
| 109 | pCallback = (WNDPROC)wc.lpfnWndProc;
|
|---|
| 110 | }
|
|---|
| 111 | // assert(pCallback != NULL);
|
|---|
| 112 |
|
|---|
| 113 | //Insert it in front of the rest
|
|---|
| 114 | next = windows;
|
|---|
| 115 | windows = this;
|
|---|
| 116 | threadid = (DWORD)GetCurrentThreadId();
|
|---|
| 117 |
|
|---|
| 118 | fIsWindow = TRUE;
|
|---|
| 119 |
|
|---|
| 120 | win32class = Win32WindowClass::FindClass((LPSTR)lpszClassName);
|
|---|
| 121 |
|
|---|
| 122 | }
|
|---|
| 123 | //******************************************************************************
|
|---|
| 124 | //******************************************************************************
|
|---|
| 125 | Win32WindowProc::~Win32WindowProc()
|
|---|
| 126 | {
|
|---|
| 127 | Win32WindowProc *window = Win32WindowProc::windows;
|
|---|
| 128 |
|
|---|
| 129 | /* @@@PH 98/07/13 what's this whole code good for ? */
|
|---|
| 130 | if(window == this)
|
|---|
| 131 | {
|
|---|
| 132 | windows = next;
|
|---|
| 133 | }
|
|---|
| 134 | else
|
|---|
| 135 | {
|
|---|
| 136 | /* @@@PH 98/07/13 window can be NULL */
|
|---|
| 137 | if (window != NULL)
|
|---|
| 138 | while(window->next != NULL)
|
|---|
| 139 | {
|
|---|
| 140 | if(window->next == this)
|
|---|
| 141 | {
|
|---|
| 142 | window->next = next;
|
|---|
| 143 | break;
|
|---|
| 144 | }
|
|---|
| 145 | window = window->next;
|
|---|
| 146 | }
|
|---|
| 147 | }
|
|---|
| 148 |
|
|---|
| 149 | if(os2dlg)
|
|---|
| 150 | {
|
|---|
| 151 | DeleteWin32DlgTemplate(os2dlg);
|
|---|
| 152 | os2dlg = NULL;
|
|---|
| 153 | }
|
|---|
| 154 | }
|
|---|
| 155 | //******************************************************************************
|
|---|
| 156 | //******************************************************************************
|
|---|
| 157 | BOOL Win32WindowProc::FindWindowProc(Win32WindowProc *wndproc)
|
|---|
| 158 | {
|
|---|
| 159 | Win32WindowProc *window = Win32WindowProc::windows;
|
|---|
| 160 |
|
|---|
| 161 | while(window != NULL) {
|
|---|
| 162 | if(window == wndproc) {
|
|---|
| 163 | return(TRUE);
|
|---|
| 164 | }
|
|---|
| 165 | window = window->next;
|
|---|
| 166 | }
|
|---|
| 167 | return(FALSE);
|
|---|
| 168 | }
|
|---|
| 169 | //******************************************************************************
|
|---|
| 170 | //******************************************************************************
|
|---|
| 171 | WNDPROC_O32 Win32WindowProc::GetOS2Callback()
|
|---|
| 172 | {
|
|---|
| 173 | return(WndCallback);
|
|---|
| 174 | }
|
|---|
| 175 | //******************************************************************************
|
|---|
| 176 | //******************************************************************************
|
|---|
| 177 | Win32WindowProc *Win32WindowProc::FindProc(HWND hwnd)
|
|---|
| 178 | {
|
|---|
| 179 | Win32WindowProc *window = Win32WindowProc::windows;
|
|---|
| 180 |
|
|---|
| 181 | while(window != NULL) {
|
|---|
| 182 | if(window->hwnd == hwnd) {
|
|---|
| 183 | return(window);
|
|---|
| 184 | }
|
|---|
| 185 | window = window->next;
|
|---|
| 186 | }
|
|---|
| 187 | dprintf(("Win32WindowProc::FindProc, can't find window %X!\n", hwnd));
|
|---|
| 188 | return(NULL);
|
|---|
| 189 | }
|
|---|
| 190 | //******************************************************************************
|
|---|
| 191 | //Find newly created window
|
|---|
| 192 | //******************************************************************************
|
|---|
| 193 | Win32WindowProc *Win32WindowProc::FindProc(HWND hwnd, DWORD threadid)
|
|---|
| 194 | {
|
|---|
| 195 | Win32WindowProc *window = Win32WindowProc::windows;
|
|---|
| 196 |
|
|---|
| 197 | while(window != NULL) {
|
|---|
| 198 | if(window->hwnd == 0 && window->threadid == threadid) {
|
|---|
| 199 | return(window);
|
|---|
| 200 | }
|
|---|
| 201 | window = window->next;
|
|---|
| 202 | }
|
|---|
| 203 | dprintf(("Win32WindowProc::FindProc, can't find window %X %d!\n", hwnd, threadid));
|
|---|
| 204 | return(NULL);
|
|---|
| 205 | }
|
|---|
| 206 | //******************************************************************************
|
|---|
| 207 | //******************************************************************************
|
|---|
| 208 | void Win32WindowProc::DeleteWindow(HWND hwnd)
|
|---|
| 209 | {
|
|---|
| 210 | Win32WindowProc *window = FindProc(hwnd);
|
|---|
| 211 |
|
|---|
| 212 | #ifdef DEBUG
|
|---|
| 213 | WriteLog("::DeleteWindow, destroy window/dialog %X!!\n", hwnd);
|
|---|
| 214 | #endif
|
|---|
| 215 | if(window) {
|
|---|
| 216 | delete(window);
|
|---|
| 217 | return;
|
|---|
| 218 | }
|
|---|
| 219 | #ifdef DEBUG
|
|---|
| 220 | WriteLog("::DeleteWindow, can't find window %X!!\n", hwnd);
|
|---|
| 221 | #endif
|
|---|
| 222 | }
|
|---|
| 223 | //******************************************************************************
|
|---|
| 224 | //******************************************************************************
|
|---|
| 225 | DWORD MapOEMToRealKey(DWORD wParam, DWORD lParam)
|
|---|
| 226 | {
|
|---|
| 227 | switch(wParam) {
|
|---|
| 228 | case VK_PRIOR: //page up
|
|---|
| 229 | lParam &= 0xFF00FFFF;
|
|---|
| 230 | lParam |= 0x00510000;
|
|---|
| 231 | break;
|
|---|
| 232 | case VK_NEXT: //page down
|
|---|
| 233 | lParam &= 0xFF00FFFF;
|
|---|
| 234 | lParam |= 0x00490000;
|
|---|
| 235 | break;
|
|---|
| 236 | case VK_END:
|
|---|
| 237 | lParam &= 0xFF00FFFF;
|
|---|
| 238 | lParam |= 0x004F0000;
|
|---|
| 239 | break;
|
|---|
| 240 | case VK_HOME:
|
|---|
| 241 | lParam &= 0xFF00FFFF;
|
|---|
| 242 | lParam |= 0x00470000;
|
|---|
| 243 | break;
|
|---|
| 244 | case VK_UP:
|
|---|
| 245 | lParam &= 0xFF00FFFF;
|
|---|
| 246 | lParam |= 0x00480000;
|
|---|
| 247 | break;
|
|---|
| 248 | case VK_LEFT:
|
|---|
| 249 | lParam &= 0xFF00FFFF;
|
|---|
| 250 | lParam |= 0x004B0000;
|
|---|
| 251 | break;
|
|---|
| 252 | case VK_DOWN:
|
|---|
| 253 | lParam &= 0xFF00FFFF;
|
|---|
| 254 | lParam |= 0x00500000;
|
|---|
| 255 | break;
|
|---|
| 256 | case VK_RIGHT:
|
|---|
| 257 | lParam &= 0xFF00FFFF;
|
|---|
| 258 | lParam |= 0x004D0000;
|
|---|
| 259 | break;
|
|---|
| 260 | case VK_DELETE:
|
|---|
| 261 | lParam &= 0xFF00FFFF;
|
|---|
| 262 | lParam |= 0x00530000;
|
|---|
| 263 | break;
|
|---|
| 264 | case VK_INSERT:
|
|---|
| 265 | lParam &= 0xFF00FFFF;
|
|---|
| 266 | lParam |= 0x00520000;
|
|---|
| 267 | break;
|
|---|
| 268 | }
|
|---|
| 269 | return(lParam);
|
|---|
| 270 | }
|
|---|
| 271 | //******************************************************************************
|
|---|
| 272 | //#undef DEBUG
|
|---|
| 273 | //#define DEBUG1
|
|---|
| 274 | //******************************************************************************
|
|---|
| 275 | LRESULT EXPENTRY_O32 WndCallback(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
|---|
| 276 | {
|
|---|
| 277 | Win32WindowProc *curwnd;
|
|---|
| 278 | LRESULT rc;
|
|---|
| 279 |
|
|---|
| 280 | if(HkCBT::OS2HkCBTProc(hwnd, Msg, wParam, lParam) == TRUE) {//hook swallowed msg
|
|---|
| 281 | return(0);
|
|---|
| 282 | }
|
|---|
| 283 |
|
|---|
| 284 | curwnd = Win32WindowProc::FindProc(hwnd);
|
|---|
| 285 | if(!curwnd) {
|
|---|
| 286 | curwnd = Win32WindowProc::FindProc(0, GetCurrentThreadId());
|
|---|
| 287 | if(curwnd) curwnd->SetWindowHandle(hwnd);
|
|---|
| 288 | }
|
|---|
| 289 | if(curwnd != NULL) {
|
|---|
| 290 | if(PostSpyMessage(hwnd, Msg, wParam, lParam) == FALSE)
|
|---|
| 291 | dprintf(("Message %s for %X %x %x\n", GetMsgText(Msg), hwnd, wParam, lParam));
|
|---|
| 292 |
|
|---|
| 293 | switch(Msg)
|
|---|
| 294 | {
|
|---|
| 295 | case WM_KEYDOWN:
|
|---|
| 296 | case WM_KEYUP:
|
|---|
| 297 | case WM_CHAR:
|
|---|
| 298 | //SvL: Correct Open32 key mapping bug
|
|---|
| 299 | lParam = MapOEMToRealKey(wParam, lParam);
|
|---|
| 300 | break;
|
|---|
| 301 | case WM_CREATE: //Open32 isn't sending WM_NCCREATE messages!!
|
|---|
| 302 | if(curwnd->pCallback(hwnd, WM_NCCREATE, 0, lParam) == 0) {
|
|---|
| 303 | dprintf(("WM_NCCREATE returned FALSE\n"));
|
|---|
| 304 | return(-1); //don't create window
|
|---|
| 305 | }
|
|---|
| 306 |
|
|---|
| 307 | NotifyParent(hwnd, WM_CREATE, wParam, lParam);
|
|---|
| 308 | //TODO
|
|---|
| 309 | #if 0
|
|---|
| 310 | if(curwnd->pCallback(hwnd, WM_NCCALCSIZE, 0, lParam) == 0) {
|
|---|
| 311 | return(-1); //don't create window
|
|---|
| 312 | }
|
|---|
| 313 | #endif
|
|---|
| 314 | break;
|
|---|
| 315 |
|
|---|
| 316 | case WM_LBUTTONDOWN:
|
|---|
| 317 | case WM_MBUTTONDOWN:
|
|---|
| 318 | case WM_RBUTTONDOWN:
|
|---|
| 319 | case WM_DESTROY: //nofity parent
|
|---|
| 320 | NotifyParent(hwnd, Msg, wParam, lParam);
|
|---|
| 321 | break;
|
|---|
| 322 |
|
|---|
| 323 | case WM_ACTIVATE:
|
|---|
| 324 | if(LOWORD(wParam) != WA_INACTIVE)
|
|---|
| 325 | {//SvL: Bugfix, Open32 is NOT sending this to the window (messes up Solitaire)
|
|---|
| 326 | HDC hdc = GetDC(hwnd);
|
|---|
| 327 |
|
|---|
| 328 | curwnd->pCallback(hwnd, WM_ERASEBKGND, hdc, 0);
|
|---|
| 329 | ReleaseDC(hwnd, hdc);
|
|---|
| 330 | }
|
|---|
| 331 | break;
|
|---|
| 332 | }
|
|---|
| 333 | rc = curwnd->pCallback(hwnd, Msg, wParam, lParam);
|
|---|
| 334 | if(Msg == WM_NCDESTROY) {
|
|---|
| 335 | dprintf(("WM_NCDESTROY received for window/dialog %X\n", curwnd->hwnd));
|
|---|
| 336 | Win32WindowSubProc::DeleteSubWindow(hwnd); //if present
|
|---|
| 337 | delete curwnd;
|
|---|
| 338 | }
|
|---|
| 339 | return rc;
|
|---|
| 340 | }
|
|---|
| 341 |
|
|---|
| 342 | //Could be a dialog control using a registered class, so check this:
|
|---|
| 343 | char szClass[128];
|
|---|
| 344 | Win32WindowClass *wclass;
|
|---|
| 345 | Win32WindowProc *wnd;
|
|---|
| 346 |
|
|---|
| 347 | if(GetClassNameA(hwnd, szClass, sizeof(szClass))) {
|
|---|
| 348 | wclass = Win32WindowClass::FindClass(szClass);
|
|---|
| 349 | if(wclass) {
|
|---|
| 350 | wnd = new Win32WindowProc(wclass->GetClassCallback(szClass));
|
|---|
| 351 | wnd->SetWindowHandle(hwnd);
|
|---|
| 352 | return(WndCallback(hwnd, Msg, wParam, lParam));
|
|---|
| 353 | }
|
|---|
| 354 | }
|
|---|
| 355 | dprintf(("wnd Callback, can't find window %X %d!!!!\n", hwnd, Msg));
|
|---|
| 356 | return 0;
|
|---|
| 357 | }
|
|---|
| 358 | //******************************************************************************
|
|---|
| 359 | //******************************************************************************
|
|---|
| 360 | #ifdef DEBUG
|
|---|
| 361 | typedef struct
|
|---|
| 362 | {
|
|---|
| 363 | LPSTR pszMsg;
|
|---|
| 364 | UINT msg;
|
|---|
| 365 | UINT Flags;
|
|---|
| 366 | } MSGDESC, *PMSGDESC;
|
|---|
| 367 |
|
|---|
| 368 | //
|
|---|
| 369 | // Message Table Flags
|
|---|
| 370 | //
|
|---|
| 371 | #define MTF_SELECTED 0x00000001
|
|---|
| 372 |
|
|---|
| 373 | #define MTF_TYPE_MOUSE 0x00010000
|
|---|
| 374 | #define MTF_TYPE_DDE 0x00020000
|
|---|
| 375 | #define MTF_TYPE_CLIP 0x00040000
|
|---|
| 376 | #define MTF_TYPE_NC 0x00080000
|
|---|
| 377 | #define MTF_TYPE_KEYBD 0x00100000
|
|---|
| 378 | #define MTF_TYPE_LB 0x00200000
|
|---|
| 379 | #define MTF_TYPE_BM 0x00400000
|
|---|
| 380 | #define MTF_TYPE_STM 0x00800000
|
|---|
| 381 | #define MTF_TYPE_CB 0x01000000
|
|---|
| 382 | #define MTF_TYPE_EM 0x02000000
|
|---|
| 383 | #ifdef FE_IME
|
|---|
| 384 | #define MTF_TYPE_IME 0x04000000
|
|---|
| 385 | #endif
|
|---|
| 386 |
|
|---|
| 387 | //
|
|---|
| 388 | // Message description table. Describes each message that can be spied on.
|
|---|
| 389 | // This table must be kept in sorted order.
|
|---|
| 390 | //
|
|---|
| 391 | MSGDESC gaMsgs[] =
|
|---|
| 392 | {
|
|---|
| 393 | { "WM_NULL", WM_NULL, // 0x0000
|
|---|
| 394 | 0},
|
|---|
| 395 | { "WM_CREATE", WM_CREATE, // 0x0001
|
|---|
| 396 | 0},
|
|---|
| 397 | { "WM_DESTROY", WM_DESTROY, // 0x0002
|
|---|
| 398 | 0},
|
|---|
| 399 | { "WM_MOVE", WM_MOVE, // 0x0003
|
|---|
| 400 | 0},
|
|---|
| 401 | { "WM_SIZE", WM_SIZE, // 0x0005
|
|---|
| 402 | 0},
|
|---|
| 403 | { "WM_ACTIVATE", WM_ACTIVATE, // 0x0006
|
|---|
| 404 | 0},
|
|---|
| 405 | { "WM_SETFOCUS", WM_SETFOCUS, // 0x0007
|
|---|
| 406 | 0},
|
|---|
| 407 | { "WM_KILLFOCUS", WM_KILLFOCUS, // 0x0008
|
|---|
| 408 | 0},
|
|---|
| 409 | { "WM_ENABLE", WM_ENABLE, // 0x000A
|
|---|
| 410 | 0},
|
|---|
| 411 | { "WM_SETREDRAW", WM_SETREDRAW, // 0x000B
|
|---|
| 412 | 0},
|
|---|
| 413 | { "WM_SETTEXT", WM_SETTEXT, // 0x000C
|
|---|
| 414 | 0},
|
|---|
| 415 | { "WM_GETTEXT", WM_GETTEXT, // 0x000D
|
|---|
| 416 | 0},
|
|---|
| 417 | { "WM_GETTEXTLENGTH", WM_GETTEXTLENGTH, // 0x000E
|
|---|
| 418 | 0},
|
|---|
| 419 | { "WM_PAINT", WM_PAINT, // 0x000F
|
|---|
| 420 | 0},
|
|---|
| 421 | { "WM_CLOSE", WM_CLOSE, // 0x0010
|
|---|
| 422 | 0},
|
|---|
| 423 | { "WM_QUERYENDSESSION", WM_QUERYENDSESSION, // 0x0011
|
|---|
| 424 | 0},
|
|---|
| 425 | { "WM_QUIT", WM_QUIT, // 0x0012
|
|---|
| 426 | 0},
|
|---|
| 427 | { "WM_QUERYOPEN", WM_QUERYOPEN, // 0x0013
|
|---|
| 428 | 0},
|
|---|
| 429 | { "WM_ERASEBKGND", WM_ERASEBKGND, // 0x0014
|
|---|
| 430 | 0},
|
|---|
| 431 | { "WM_SYSCOLORCHANGE", WM_SYSCOLORCHANGE, // 0x0015
|
|---|
| 432 | 0},
|
|---|
| 433 | { "WM_ENDSESSION", WM_ENDSESSION, // 0x0016
|
|---|
| 434 | 0},
|
|---|
| 435 | { "WM_SHOWWINDOW", WM_SHOWWINDOW, // 0x0018
|
|---|
| 436 | 0},
|
|---|
| 437 | { "WM_WININICHANGE", WM_WININICHANGE, // 0x001A
|
|---|
| 438 | 0},
|
|---|
| 439 | { "WM_DEVMODECHANGE", WM_DEVMODECHANGE, // 0x001B
|
|---|
| 440 | 0},
|
|---|
| 441 | { "WM_ACTIVATEAPP", WM_ACTIVATEAPP, // 0x001C
|
|---|
| 442 | 0},
|
|---|
| 443 | { "WM_FONTCHANGE", WM_FONTCHANGE, // 0x001D
|
|---|
| 444 | 0},
|
|---|
| 445 | { "WM_TIMECHANGE", WM_TIMECHANGE, // 0x001E
|
|---|
| 446 | 0},
|
|---|
| 447 | { "WM_CANCELMODE", WM_CANCELMODE, // 0x001F
|
|---|
| 448 | 0},
|
|---|
| 449 | { "WM_SETCURSOR", WM_SETCURSOR, // 0x0020
|
|---|
| 450 | MTF_TYPE_MOUSE},
|
|---|
| 451 | { "WM_MOUSEACTIVATE", WM_MOUSEACTIVATE, // 0x0021
|
|---|
| 452 | MTF_TYPE_MOUSE},
|
|---|
| 453 | { "WM_CHILDACTIVATE", WM_CHILDACTIVATE, // 0x0022
|
|---|
| 454 | 0},
|
|---|
| 455 | { "WM_QUEUESYNC", WM_QUEUESYNC, // 0x0023
|
|---|
| 456 | 0},
|
|---|
| 457 | { "WM_GETMINMAXINFO", WM_GETMINMAXINFO, // 0x0024
|
|---|
| 458 | 0},
|
|---|
| 459 | { "WM_PAINTICON", WM_PAINTICON, // 0x0026
|
|---|
| 460 | 0},
|
|---|
| 461 | { "WM_ICONERASEBKGND", WM_ICONERASEBKGND, // 0x0027
|
|---|
| 462 | 0},
|
|---|
| 463 | { "WM_NEXTDLGCTL", WM_NEXTDLGCTL, // 0x0028
|
|---|
| 464 | 0},
|
|---|
| 465 | { "WM_SPOOLERSTATUS", WM_SPOOLERSTATUS, // 0x002A
|
|---|
| 466 | 0},
|
|---|
| 467 | { "WM_DRAWITEM", WM_DRAWITEM, // 0x002B
|
|---|
| 468 | 0},
|
|---|
| 469 | { "WM_MEASUREITEM", WM_MEASUREITEM, // 0x002C
|
|---|
| 470 | 0},
|
|---|
| 471 | { "WM_DELETEITEM", WM_DELETEITEM, // 0x002D
|
|---|
| 472 | 0},
|
|---|
| 473 | { "WM_VKEYTOITEM", WM_VKEYTOITEM, // 0x002E
|
|---|
| 474 | MTF_TYPE_KEYBD},
|
|---|
| 475 | { "WM_CHARTOITEM", WM_CHARTOITEM, // 0x002F
|
|---|
| 476 | MTF_TYPE_KEYBD},
|
|---|
| 477 | { "WM_SETFONT", WM_SETFONT, // 0x0030
|
|---|
| 478 | 0},
|
|---|
| 479 | { "WM_GETFONT", WM_GETFONT, // 0x0031
|
|---|
| 480 | 0},
|
|---|
| 481 | { "WM_SETHOTKEY", WM_SETHOTKEY, // 0x0032
|
|---|
| 482 | MTF_TYPE_KEYBD},
|
|---|
| 483 | { "WM_GETHOTKEY", WM_GETHOTKEY, // 0x0033
|
|---|
| 484 | MTF_TYPE_KEYBD},
|
|---|
| 485 | { "WM_QUERYDRAGICON", WM_QUERYDRAGICON, // 0x0037
|
|---|
| 486 | 0},
|
|---|
| 487 | { "WM_COMPAREITEM", WM_COMPAREITEM, // 0x0039
|
|---|
| 488 | 0},
|
|---|
| 489 | { "WM_COMPACTING", WM_COMPACTING, // 0x0041
|
|---|
| 490 | 0},
|
|---|
| 491 | { "WM_WINDOWPOSCHANGING", WM_WINDOWPOSCHANGING, // 0x0046
|
|---|
| 492 | 0},
|
|---|
| 493 | { "WM_WINDOWPOSCHANGED", WM_WINDOWPOSCHANGED, // 0x0047
|
|---|
| 494 | 0},
|
|---|
| 495 | { "WM_POWER", WM_POWER, // 0x0048
|
|---|
| 496 | 0},
|
|---|
| 497 | { "WM_COPYDATA", WM_COPYDATA, // 0x004A
|
|---|
| 498 | 0},
|
|---|
| 499 | { "WM_CANCELJOURNAL", WM_CANCELJOURNAL, // 0x004B
|
|---|
| 500 | 0},
|
|---|
| 501 | { "WM_NOTIFY", WM_NOTIFY, 0}, // 0x4E
|
|---|
| 502 | { "WM_INPUTLANGCHANGEREQUEST", WM_INPUTLANGCHANGEREQUEST, 0}, //0x50
|
|---|
| 503 | { "WM_INPUTLANGCHANGE", WM_INPUTLANGCHANGE, 0}, // 0x51
|
|---|
| 504 | { "WM_TCARD", WM_TCARD, 0}, // 0x52
|
|---|
| 505 | { "WM_HELP", WM_HELP, 0}, // 0x53
|
|---|
| 506 | { "WM_USERCHANGED", WM_USERCHANGED, 0}, // 0x54
|
|---|
| 507 | { "WM_NOTIFYFORMAT", WM_NOTIFYFORMAT, 0}, // 0x55
|
|---|
| 508 | { "WM_NCCREATE", WM_NCCREATE, // 0x0081
|
|---|
| 509 | MTF_TYPE_NC},
|
|---|
| 510 | { "WM_NCDESTROY", WM_NCDESTROY, // 0x0082
|
|---|
| 511 | MTF_TYPE_NC},
|
|---|
| 512 | { "WM_NCCALCSIZE", WM_NCCALCSIZE, // 0x0083
|
|---|
| 513 | MTF_TYPE_NC},
|
|---|
| 514 | { "WM_NCHITTEST", WM_NCHITTEST, // 0x0084
|
|---|
| 515 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 516 | { "WM_NCPAINT", WM_NCPAINT, // 0x0085
|
|---|
| 517 | MTF_TYPE_NC},
|
|---|
| 518 | { "WM_NCACTIVATE", WM_NCACTIVATE, // 0x0086
|
|---|
| 519 | MTF_TYPE_NC},
|
|---|
| 520 | { "WM_GETDLGCODE", WM_GETDLGCODE, // 0x0087
|
|---|
| 521 | 0},
|
|---|
| 522 | { "WM_NCMOUSEMOVE", WM_NCMOUSEMOVE, // 0x00A0
|
|---|
| 523 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 524 | { "WM_NCLBUTTONDOWN", WM_NCLBUTTONDOWN, // 0x00A1
|
|---|
| 525 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 526 | { "WM_NCLBUTTONUP", WM_NCLBUTTONUP, // 0x00A2
|
|---|
| 527 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 528 | { "WM_NCLBUTTONDBLCLK", WM_NCLBUTTONDBLCLK, // 0x00A3
|
|---|
| 529 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 530 | { "WM_NCRBUTTONDOWN", WM_NCRBUTTONDOWN, // 0x00A4
|
|---|
| 531 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 532 | { "WM_NCRBUTTONUP", WM_NCRBUTTONUP, // 0x00A5
|
|---|
| 533 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 534 | { "WM_NCRBUTTONDBLCLK", WM_NCRBUTTONDBLCLK, // 0x00A6
|
|---|
| 535 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 536 | { "WM_NCMBUTTONDOWN", WM_NCMBUTTONDOWN, // 0x00A7
|
|---|
| 537 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 538 | { "WM_NCMBUTTONUP", WM_NCMBUTTONUP, // 0x00A8
|
|---|
| 539 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 540 | { "WM_NCMBUTTONDBLCLK", WM_NCMBUTTONDBLCLK, // 0x00A9
|
|---|
| 541 | MTF_TYPE_NC | MTF_TYPE_MOUSE},
|
|---|
| 542 | { "EM_GETSEL", EM_GETSEL, // 0x00B0
|
|---|
| 543 | MTF_TYPE_EM},
|
|---|
| 544 | { "EM_SETSEL", EM_SETSEL, // 0x00B1
|
|---|
| 545 | MTF_TYPE_EM},
|
|---|
| 546 | { "EM_GETRECT", EM_GETRECT, // 0x00B2
|
|---|
| 547 | MTF_TYPE_EM},
|
|---|
| 548 | { "EM_SETRECT", EM_SETRECT, // 0x00B3
|
|---|
| 549 | MTF_TYPE_EM},
|
|---|
| 550 | { "EM_SETRECTNP", EM_SETRECTNP, // 0x00B4
|
|---|
| 551 | MTF_TYPE_EM},
|
|---|
| 552 | { "EM_SCROLL", EM_SCROLL, // 0x00B5
|
|---|
| 553 | MTF_TYPE_EM},
|
|---|
| 554 | { "EM_LINESCROLL", EM_LINESCROLL, // 0x00B6
|
|---|
| 555 | MTF_TYPE_EM},
|
|---|
| 556 | { "EM_SCROLLCARET", EM_SCROLLCARET, // 0x00B7
|
|---|
| 557 | MTF_TYPE_EM},
|
|---|
| 558 | { "EM_GETMODIFY", EM_GETMODIFY, // 0x00B8
|
|---|
| 559 | MTF_TYPE_EM},
|
|---|
| 560 | { "EM_SETMODIFY", EM_SETMODIFY, // 0x00B9
|
|---|
| 561 | MTF_TYPE_EM},
|
|---|
| 562 | { "EM_GETLINECOUNT", EM_GETLINECOUNT, // 0x00BA
|
|---|
| 563 | MTF_TYPE_EM},
|
|---|
| 564 | { "EM_LINEINDEX", EM_LINEINDEX, // 0x00BB
|
|---|
| 565 | MTF_TYPE_EM},
|
|---|
| 566 | { "EM_SETHANDLE", EM_SETHANDLE, // 0x00BC
|
|---|
| 567 | MTF_TYPE_EM},
|
|---|
| 568 | { "EM_GETHANDLE", EM_GETHANDLE, // 0x00BD
|
|---|
| 569 | MTF_TYPE_EM},
|
|---|
| 570 | { "EM_GETTHUMB", EM_GETTHUMB, // 0x00BE
|
|---|
| 571 | MTF_TYPE_EM},
|
|---|
| 572 | { "EM_LINELENGTH", EM_LINELENGTH, // 0x00C1
|
|---|
| 573 | MTF_TYPE_EM},
|
|---|
| 574 | { "EM_REPLACESEL", EM_REPLACESEL, // 0x00C2
|
|---|
| 575 | MTF_TYPE_EM},
|
|---|
| 576 | { "EM_GETLINE", EM_GETLINE, // 0x00C4
|
|---|
| 577 | MTF_TYPE_EM},
|
|---|
| 578 | { "EM_LIMITTEXT", EM_LIMITTEXT, // 0x00C5
|
|---|
| 579 | MTF_TYPE_EM},
|
|---|
| 580 | { "EM_CANUNDO", EM_CANUNDO, // 0x00C6
|
|---|
| 581 | MTF_TYPE_EM},
|
|---|
| 582 | { "EM_UNDO", EM_UNDO, // 0x00C7
|
|---|
| 583 | MTF_TYPE_EM},
|
|---|
| 584 | { "EM_FMTLINES", EM_FMTLINES, // 0x00C8
|
|---|
| 585 | MTF_TYPE_EM},
|
|---|
| 586 | { "EM_LINEFROMCHAR", EM_LINEFROMCHAR, // 0x00C9
|
|---|
| 587 | MTF_TYPE_EM},
|
|---|
| 588 | { "EM_SETTABSTOPS", EM_SETTABSTOPS, // 0x00CB
|
|---|
| 589 | MTF_TYPE_EM},
|
|---|
| 590 | { "EM_SETPASSWORDCHAR", EM_SETPASSWORDCHAR, // 0x00CC
|
|---|
| 591 | MTF_TYPE_EM},
|
|---|
| 592 | { "EM_EMPTYUNDOBUFFER", EM_EMPTYUNDOBUFFER, // 0x00CD
|
|---|
| 593 | MTF_TYPE_EM},
|
|---|
| 594 | { "EM_GETFIRSTVISIBLELINE", EM_GETFIRSTVISIBLELINE, // 0x00CE
|
|---|
| 595 | MTF_TYPE_EM},
|
|---|
| 596 | { "EM_SETREADONLY", EM_SETREADONLY, // 0x00CF
|
|---|
| 597 | MTF_TYPE_EM},
|
|---|
| 598 | { "EM_SETWORDBREAKPROC", EM_SETWORDBREAKPROC, // 0x00D0
|
|---|
| 599 | MTF_TYPE_EM},
|
|---|
| 600 | { "EM_GETWORDBREAKPROC", EM_GETWORDBREAKPROC, // 0x00D1
|
|---|
| 601 | MTF_TYPE_EM},
|
|---|
| 602 | { "EM_GETPASSWORDCHAR", EM_GETPASSWORDCHAR, // 0x00D2
|
|---|
| 603 | MTF_TYPE_EM},
|
|---|
| 604 | { "SBM_SETPOS", SBM_SETPOS, // 0x00E0
|
|---|
| 605 | 0},
|
|---|
| 606 | { "SBM_GETPOS", SBM_GETPOS, // 0x00E1
|
|---|
| 607 | 0},
|
|---|
| 608 | { "SBM_SETRANGE", SBM_SETRANGE, // 0x00E2
|
|---|
| 609 | 0},
|
|---|
| 610 | { "SBM_GETRANGE", SBM_GETRANGE, // 0x00E3
|
|---|
| 611 | 0},
|
|---|
| 612 | { "SBM_ENABLE_ARROWS", SBM_ENABLE_ARROWS, // 0x00E4
|
|---|
| 613 | 0},
|
|---|
| 614 | { "SBM_SETRANGEREDRAW", SBM_SETRANGEREDRAW, // 0x00E6
|
|---|
| 615 | 0},
|
|---|
| 616 | { "BM_GETCHECK", BM_GETCHECK, // 0x00F0
|
|---|
| 617 | MTF_TYPE_BM},
|
|---|
| 618 | { "BM_SETCHECK", BM_SETCHECK, // 0x00F1
|
|---|
| 619 | MTF_TYPE_BM},
|
|---|
| 620 | { "BM_GETSTATE", BM_GETSTATE, // 0x00F2
|
|---|
| 621 | MTF_TYPE_BM},
|
|---|
| 622 | { "BM_SETSTATE", BM_SETSTATE, // 0x00F3
|
|---|
| 623 | MTF_TYPE_BM},
|
|---|
| 624 | { "BM_SETSTYLE", BM_SETSTYLE, // 0x00F4
|
|---|
| 625 | MTF_TYPE_BM},
|
|---|
| 626 | { "WM_KEYDOWN", WM_KEYDOWN, // 0x0100
|
|---|
| 627 | MTF_TYPE_KEYBD},
|
|---|
| 628 | { "WM_KEYUP", WM_KEYUP, // 0x0101
|
|---|
| 629 | MTF_TYPE_KEYBD},
|
|---|
| 630 | { "WM_CHAR", WM_CHAR, // 0x0102
|
|---|
| 631 | MTF_TYPE_KEYBD},
|
|---|
| 632 | { "WM_DEADCHAR", WM_DEADCHAR, // 0x0103
|
|---|
| 633 | MTF_TYPE_KEYBD},
|
|---|
| 634 | { "WM_SYSKEYDOWN", WM_SYSKEYDOWN, // 0x0104
|
|---|
| 635 | MTF_TYPE_KEYBD},
|
|---|
| 636 | { "WM_SYSKEYUP", WM_SYSKEYUP, // 0x0105
|
|---|
| 637 | MTF_TYPE_KEYBD},
|
|---|
| 638 | { "WM_SYSCHAR", WM_SYSCHAR, // 0x0106
|
|---|
| 639 | MTF_TYPE_KEYBD},
|
|---|
| 640 | { "WM_SYSDEADCHAR", WM_SYSDEADCHAR, // 0x0107
|
|---|
| 641 | MTF_TYPE_KEYBD},
|
|---|
| 642 | #ifdef FE_IME
|
|---|
| 643 | { "WM_WNT_CONVERTREQUESTEX", WM_WNT_CONVERTREQUESTEX, // 0x0109
|
|---|
| 644 | MTF_TYPE_IME},
|
|---|
| 645 | { "WM_CONVERTREQUEST", WM_CONVERTREQUEST, // 0x010A
|
|---|
| 646 | MTF_TYPE_IME},
|
|---|
| 647 | { "WM_CONVERTRESULT", WM_CONVERTRESULT, // 0x010B
|
|---|
| 648 | MTF_TYPE_IME},
|
|---|
| 649 | { "WM_INTERIM", WM_INTERIM, // 0x010C
|
|---|
| 650 | MTF_TYPE_IME},
|
|---|
| 651 | # define TMP_MTF_TYPE_IME MTF_TYPE_IME
|
|---|
| 652 | #else // not FE_IME
|
|---|
| 653 | # define TMP_MTF_TYPE_IME 0
|
|---|
| 654 | #endif
|
|---|
| 655 | { "WM_IME_STARTCOMPOSITION", WM_IME_STARTCOMPOSITION, // 0x010D
|
|---|
| 656 | TMP_MTF_TYPE_IME},
|
|---|
| 657 | { "WM_IME_ENDCOMPOSITION", WM_IME_ENDCOMPOSITION, // 0x010E
|
|---|
| 658 | TMP_MTF_TYPE_IME},
|
|---|
| 659 | { "WM_IME_COMPOSITION", WM_IME_COMPOSITION, // 0x010F
|
|---|
| 660 | TMP_MTF_TYPE_IME},
|
|---|
| 661 | { "WM_INITDIALOG", WM_INITDIALOG, // 0x0110
|
|---|
| 662 | 0},
|
|---|
| 663 | { "WM_COMMAND", WM_COMMAND, // 0x0111
|
|---|
| 664 | 0},
|
|---|
| 665 | { "WM_SYSCOMMAND", WM_SYSCOMMAND, // 0x0112
|
|---|
| 666 | 0},
|
|---|
| 667 | { "WM_TIMER", WM_TIMER, // 0x0113
|
|---|
| 668 | 0},
|
|---|
| 669 | { "WM_HSCROLL", WM_HSCROLL, // 0x0114
|
|---|
| 670 | 0},
|
|---|
| 671 | { "WM_VSCROLL", WM_VSCROLL, // 0x0115
|
|---|
| 672 | 0},
|
|---|
| 673 | { "WM_INITMENU", WM_INITMENU, // 0x0116
|
|---|
| 674 | 0},
|
|---|
| 675 | { "WM_INITMENUPOPUP", WM_INITMENUPOPUP, // 0x0117
|
|---|
| 676 | 0},
|
|---|
| 677 | { "WM_MENUSELECT", WM_MENUSELECT, // 0x011F
|
|---|
| 678 | 0},
|
|---|
| 679 | { "WM_MENUCHAR", WM_MENUCHAR, // 0x0120
|
|---|
| 680 | 0},
|
|---|
| 681 | { "WM_ENTERIDLE", WM_ENTERIDLE, // 0x0121
|
|---|
| 682 | 0},
|
|---|
| 683 | { "WM_CTLCOLORMSGBOX", WM_CTLCOLORMSGBOX, // 0x0132
|
|---|
| 684 | 0},
|
|---|
| 685 | { "WM_CTLCOLOREDIT", WM_CTLCOLOREDIT, // 0x0133
|
|---|
| 686 | 0},
|
|---|
| 687 | { "WM_CTLCOLORLISTBOX", WM_CTLCOLORLISTBOX, // 0x0134
|
|---|
| 688 | 0},
|
|---|
| 689 | { "WM_CTLCOLORBTN", WM_CTLCOLORBTN, // 0x0135
|
|---|
| 690 | 0},
|
|---|
| 691 | { "WM_CTLCOLORDLG", WM_CTLCOLORDLG, // 0x0136
|
|---|
| 692 | 0},
|
|---|
| 693 | { "WM_CTLCOLORSCROLLBAR", WM_CTLCOLORSCROLLBAR, // 0x0137
|
|---|
| 694 | 0},
|
|---|
| 695 | { "WM_CTLCOLORSTATIC", WM_CTLCOLORSTATIC, // 0x0138
|
|---|
| 696 | 0},
|
|---|
| 697 | { "CB_GETEDITSEL", CB_GETEDITSEL, // 0x0140
|
|---|
| 698 | MTF_TYPE_CB},
|
|---|
| 699 | { "CB_LIMITTEXT", CB_LIMITTEXT, // 0x0141
|
|---|
| 700 | MTF_TYPE_CB},
|
|---|
| 701 | { "CB_SETEDITSEL", CB_SETEDITSEL, // 0x0142
|
|---|
| 702 | MTF_TYPE_CB},
|
|---|
| 703 | { "CB_ADDSTRING", CB_ADDSTRING, // 0x0143
|
|---|
| 704 | MTF_TYPE_CB},
|
|---|
| 705 | { "CB_DELETESTRING", CB_DELETESTRING, // 0x0144
|
|---|
| 706 | MTF_TYPE_CB},
|
|---|
| 707 | { "CB_DIR", CB_DIR, // 0x0145
|
|---|
| 708 | MTF_TYPE_CB},
|
|---|
| 709 | { "CB_GETCOUNT", CB_GETCOUNT, // 0x0146
|
|---|
| 710 | MTF_TYPE_CB},
|
|---|
| 711 | { "CB_GETCURSEL", CB_GETCURSEL, // 0x0147
|
|---|
| 712 | MTF_TYPE_CB},
|
|---|
| 713 | { "CB_GETLBTEXT", CB_GETLBTEXT, // 0x0148
|
|---|
| 714 | MTF_TYPE_CB},
|
|---|
| 715 | { "CB_GETLBTEXTLEN", CB_GETLBTEXTLEN, // 0x0149
|
|---|
| 716 | MTF_TYPE_CB},
|
|---|
| 717 | { "CB_INSERTSTRING", CB_INSERTSTRING, // 0x014A
|
|---|
| 718 | MTF_TYPE_CB},
|
|---|
| 719 | { "CB_RESETCONTENT", CB_RESETCONTENT, // 0x014B
|
|---|
| 720 | MTF_TYPE_CB},
|
|---|
| 721 | { "CB_FINDSTRING", CB_FINDSTRING, // 0x014C
|
|---|
| 722 | MTF_TYPE_CB},
|
|---|
| 723 | { "CB_SELECTSTRING", CB_SELECTSTRING, // 0x014D
|
|---|
| 724 | MTF_TYPE_CB},
|
|---|
| 725 | { "CB_SETCURSEL", CB_SETCURSEL, // 0x014E
|
|---|
| 726 | MTF_TYPE_CB},
|
|---|
| 727 | { "CB_SHOWDROPDOWN", CB_SHOWDROPDOWN, // 0x014F
|
|---|
| 728 | MTF_TYPE_CB},
|
|---|
| 729 | { "CB_GETITEMDATA", CB_GETITEMDATA, // 0x0150
|
|---|
| 730 | MTF_TYPE_CB},
|
|---|
| 731 | { "CB_SETITEMDATA", CB_SETITEMDATA, // 0x0151
|
|---|
| 732 | MTF_TYPE_CB},
|
|---|
| 733 | { "CB_GETDROPPEDCONTROLRECT", CB_GETDROPPEDCONTROLRECT, // 0x0152
|
|---|
| 734 | MTF_TYPE_CB},
|
|---|
| 735 | { "CB_SETITEMHEIGHT", CB_SETITEMHEIGHT, // 0x0153
|
|---|
| 736 | MTF_TYPE_CB},
|
|---|
| 737 | { "CB_GETITEMHEIGHT", CB_GETITEMHEIGHT, // 0x0154
|
|---|
| 738 | MTF_TYPE_CB},
|
|---|
| 739 | { "CB_SETEXTENDEDUI", CB_SETEXTENDEDUI, // 0x0155
|
|---|
| 740 | MTF_TYPE_CB},
|
|---|
| 741 | { "CB_GETEXTENDEDUI", CB_GETEXTENDEDUI, // 0x0156
|
|---|
| 742 | MTF_TYPE_CB},
|
|---|
| 743 | { "CB_GETDROPPEDSTATE", CB_GETDROPPEDSTATE, // 0x0157
|
|---|
| 744 | MTF_TYPE_CB},
|
|---|
| 745 | { "CB_FINDSTRINGEXACT", CB_FINDSTRINGEXACT, // 0x0158
|
|---|
| 746 | MTF_TYPE_CB},
|
|---|
| 747 | { "CB_SETLOCALE", CB_SETLOCALE, // 0x0159
|
|---|
| 748 | MTF_TYPE_CB},
|
|---|
| 749 | { "CB_GETLOCALE", CB_GETLOCALE, // 0x015A
|
|---|
| 750 | MTF_TYPE_CB},
|
|---|
| 751 | { "STM_SETICON", STM_SETICON, // 0x0170
|
|---|
| 752 | MTF_TYPE_STM},
|
|---|
| 753 | { "STM_GETICON", STM_GETICON, // 0x0171
|
|---|
| 754 | MTF_TYPE_STM},
|
|---|
| 755 | { "LB_ADDSTRING", LB_ADDSTRING, // 0x0180
|
|---|
| 756 | MTF_TYPE_LB},
|
|---|
| 757 | { "LB_INSERTSTRING", LB_INSERTSTRING, // 0x0181
|
|---|
| 758 | MTF_TYPE_LB},
|
|---|
| 759 | { "LB_DELETESTRING", LB_DELETESTRING, // 0x0182
|
|---|
| 760 | MTF_TYPE_LB},
|
|---|
| 761 | { "LB_SELITEMRANGEEX", LB_SELITEMRANGEEX, // 0x0183
|
|---|
| 762 | MTF_TYPE_LB},
|
|---|
| 763 | { "LB_RESETCONTENT", LB_RESETCONTENT, // 0x0184
|
|---|
| 764 | MTF_TYPE_LB},
|
|---|
| 765 | { "LB_SETSEL", LB_SETSEL, // 0x0185
|
|---|
| 766 | MTF_TYPE_LB},
|
|---|
| 767 | { "LB_SETCURSEL", LB_SETCURSEL, // 0x0186
|
|---|
| 768 | MTF_TYPE_LB},
|
|---|
| 769 | { "LB_GETSEL", LB_GETSEL, // 0x0187
|
|---|
| 770 | MTF_TYPE_LB},
|
|---|
| 771 | { "LB_GETCURSEL", LB_GETCURSEL, // 0x0188
|
|---|
| 772 | MTF_TYPE_LB},
|
|---|
| 773 | { "LB_GETTEXT", LB_GETTEXT, // 0x0189
|
|---|
| 774 | MTF_TYPE_LB},
|
|---|
| 775 | { "LB_GETTEXTLEN", LB_GETTEXTLEN, // 0x018A
|
|---|
| 776 | MTF_TYPE_LB},
|
|---|
| 777 | { "LB_GETCOUNT", LB_GETCOUNT, // 0x018B
|
|---|
| 778 | MTF_TYPE_LB},
|
|---|
| 779 | { "LB_SELECTSTRING", LB_SELECTSTRING, // 0x018C
|
|---|
| 780 | MTF_TYPE_LB},
|
|---|
| 781 | { "LB_DIR", LB_DIR, // 0x018D
|
|---|
| 782 | MTF_TYPE_LB},
|
|---|
| 783 | { "LB_GETTOPINDEX", LB_GETTOPINDEX, // 0x018E
|
|---|
| 784 | MTF_TYPE_LB},
|
|---|
| 785 | { "LB_FINDSTRING", LB_FINDSTRING, // 0x018F
|
|---|
| 786 | MTF_TYPE_LB},
|
|---|
| 787 | { "LB_GETSELCOUNT", LB_GETSELCOUNT, // 0x0190
|
|---|
| 788 | MTF_TYPE_LB},
|
|---|
| 789 | { "LB_GETSELITEMS", LB_GETSELITEMS, // 0x0191
|
|---|
| 790 | MTF_TYPE_LB},
|
|---|
| 791 | { "LB_SETTABSTOPS", LB_SETTABSTOPS, // 0x0192
|
|---|
| 792 | MTF_TYPE_LB},
|
|---|
| 793 | { "LB_GETHORIZONTALEXTENT", LB_GETHORIZONTALEXTENT, // 0x0193
|
|---|
| 794 | MTF_TYPE_LB},
|
|---|
| 795 | { "LB_SETHORIZONTALEXTENT", LB_SETHORIZONTALEXTENT, // 0x0194
|
|---|
| 796 | MTF_TYPE_LB},
|
|---|
| 797 | { "LB_SETCOLUMNWIDTH", LB_SETCOLUMNWIDTH, // 0x0195
|
|---|
| 798 | MTF_TYPE_LB},
|
|---|
| 799 | { "LB_ADDFILE", LB_ADDFILE, // 0x0196
|
|---|
| 800 | MTF_TYPE_LB},
|
|---|
| 801 | { "LB_SETTOPINDEX", LB_SETTOPINDEX, // 0x0197
|
|---|
| 802 | MTF_TYPE_LB},
|
|---|
| 803 | { "LB_GETITEMRECT", LB_GETITEMRECT, // 0x0198
|
|---|
| 804 | MTF_TYPE_LB},
|
|---|
| 805 | { "LB_GETITEMDATA", LB_GETITEMDATA, // 0x0199
|
|---|
| 806 | MTF_TYPE_LB},
|
|---|
| 807 | { "LB_SETITEMDATA", LB_SETITEMDATA, // 0x019A
|
|---|
| 808 | MTF_TYPE_LB},
|
|---|
| 809 | { "LB_SELITEMRANGE", LB_SELITEMRANGE, // 0x019B
|
|---|
| 810 | MTF_TYPE_LB},
|
|---|
| 811 | { "LB_SETANCHORINDEX", LB_SETANCHORINDEX, // 0x019C
|
|---|
| 812 | MTF_TYPE_LB},
|
|---|
| 813 | { "LB_GETANCHORINDEX", LB_GETANCHORINDEX, // 0x019D
|
|---|
| 814 | MTF_TYPE_LB},
|
|---|
| 815 | { "LB_SETCARETINDEX", LB_SETCARETINDEX, // 0x019E
|
|---|
| 816 | MTF_TYPE_LB},
|
|---|
| 817 | { "LB_GETCARETINDEX", LB_GETCARETINDEX, // 0x019F
|
|---|
| 818 | MTF_TYPE_LB},
|
|---|
| 819 | { "LB_SETITEMHEIGHT", LB_SETITEMHEIGHT, // 0x01A0
|
|---|
| 820 | MTF_TYPE_LB},
|
|---|
| 821 | { "LB_GETITEMHEIGHT", LB_GETITEMHEIGHT, // 0x01A1
|
|---|
| 822 | MTF_TYPE_LB},
|
|---|
| 823 | { "LB_FINDSTRINGEXACT", LB_FINDSTRINGEXACT, // 0x01A2
|
|---|
| 824 | MTF_TYPE_LB},
|
|---|
| 825 | { "LB_SETLOCALE", LB_SETLOCALE, // 0x01A5
|
|---|
| 826 | MTF_TYPE_LB},
|
|---|
| 827 | { "LB_GETLOCALE", LB_GETLOCALE, // 0x01A6
|
|---|
| 828 | MTF_TYPE_LB},
|
|---|
| 829 | { "LB_SETCOUNT", LB_SETCOUNT, // 0x01A7
|
|---|
| 830 | MTF_TYPE_LB},
|
|---|
| 831 | { "WM_MOUSEMOVE", WM_MOUSEMOVE, // 0x0200
|
|---|
| 832 | MTF_TYPE_MOUSE},
|
|---|
| 833 | { "WM_LBUTTONDOWN", WM_LBUTTONDOWN, // 0x0201
|
|---|
| 834 | MTF_TYPE_MOUSE},
|
|---|
| 835 | { "WM_LBUTTONUP", WM_LBUTTONUP, // 0x0202
|
|---|
| 836 | MTF_TYPE_MOUSE},
|
|---|
| 837 | { "WM_LBUTTONDBLCLK", WM_LBUTTONDBLCLK, // 0x0203
|
|---|
| 838 | MTF_TYPE_MOUSE},
|
|---|
| 839 | { "WM_RBUTTONDOWN", WM_RBUTTONDOWN, // 0x0204
|
|---|
| 840 | MTF_TYPE_MOUSE},
|
|---|
| 841 | { "WM_RBUTTONUP", WM_RBUTTONUP, // 0x0205
|
|---|
| 842 | MTF_TYPE_MOUSE},
|
|---|
| 843 | { "WM_RBUTTONDBLCLK", WM_RBUTTONDBLCLK, // 0x0206
|
|---|
| 844 | MTF_TYPE_MOUSE},
|
|---|
| 845 | { "WM_MBUTTONDOWN", WM_MBUTTONDOWN, // 0x0207
|
|---|
| 846 | MTF_TYPE_MOUSE},
|
|---|
| 847 | { "WM_MBUTTONUP", WM_MBUTTONUP, // 0x0208
|
|---|
| 848 | MTF_TYPE_MOUSE},
|
|---|
| 849 | { "WM_MBUTTONDBLCLK", WM_MBUTTONDBLCLK, // 0x0209
|
|---|
| 850 | MTF_TYPE_MOUSE},
|
|---|
| 851 | { "WM_PARENTNOTIFY", WM_PARENTNOTIFY, // 0x0210
|
|---|
| 852 | MTF_TYPE_MOUSE},
|
|---|
| 853 | { "WM_ENTERMENULOOP", WM_ENTERMENULOOP, // 0x0211
|
|---|
| 854 | 0},
|
|---|
| 855 | { "WM_EXITMENULOOP", WM_EXITMENULOOP, // 0x0212
|
|---|
| 856 | 0},
|
|---|
| 857 | { "WM_MDICREATE", WM_MDICREATE, // 0x0220
|
|---|
| 858 | 0},
|
|---|
| 859 | { "WM_MDIDESTROY", WM_MDIDESTROY, // 0x0221
|
|---|
| 860 | 0},
|
|---|
| 861 | { "WM_MDIACTIVATE", WM_MDIACTIVATE, // 0x0222
|
|---|
| 862 | 0},
|
|---|
| 863 | { "WM_MDIRESTORE", WM_MDIRESTORE, // 0x0223
|
|---|
| 864 | 0},
|
|---|
| 865 | { "WM_MDINEXT", WM_MDINEXT, // 0x0224
|
|---|
| 866 | 0},
|
|---|
| 867 | { "WM_MDIMAXIMIZE", WM_MDIMAXIMIZE, // 0x0225
|
|---|
| 868 | 0},
|
|---|
| 869 | { "WM_MDITILE", WM_MDITILE, // 0x0226
|
|---|
| 870 | 0},
|
|---|
| 871 | { "WM_MDICASCADE", WM_MDICASCADE, // 0x0227
|
|---|
| 872 | 0},
|
|---|
| 873 | { "WM_MDIICONARRANGE", WM_MDIICONARRANGE, // 0x0228
|
|---|
| 874 | 0},
|
|---|
| 875 | { "WM_MDIGETACTIVE", WM_MDIGETACTIVE, // 0x0229
|
|---|
| 876 | 0},
|
|---|
| 877 | { "WM_MDISETMENU", WM_MDISETMENU, // 0x0230
|
|---|
| 878 | 0},
|
|---|
| 879 | { "WM_ENTERSIZEMOVE", WM_ENTERSIZEMOVE, // 0x0231
|
|---|
| 880 | 0},
|
|---|
| 881 | { "WM_EXITSIZEMOVE", WM_EXITSIZEMOVE, // 0x0232
|
|---|
| 882 | 0},
|
|---|
| 883 | { "WM_DROPFILES", WM_DROPFILES, // 0x0233
|
|---|
| 884 | 0},
|
|---|
| 885 | { "WM_MDIREFRESHMENU", WM_MDIREFRESHMENU, // 0x0234
|
|---|
| 886 | 0},
|
|---|
| 887 | #ifdef FE_IME
|
|---|
| 888 | { "WM_IME_REPORT", WM_IME_REPORT, // 0x0280
|
|---|
| 889 | MTF_TYPE_IME},
|
|---|
| 890 | #endif
|
|---|
| 891 | { "WM_IME_SETCONTEXT", WM_IME_SETCONTEXT, // 0x0281
|
|---|
| 892 | TMP_MTF_TYPE_IME},
|
|---|
| 893 | { "WM_IME_NOTIFY", WM_IME_NOTIFY, // 0x0282
|
|---|
| 894 | TMP_MTF_TYPE_IME},
|
|---|
| 895 | { "WM_IME_CONTROL", WM_IME_CONTROL, // 0x0283
|
|---|
| 896 | TMP_MTF_TYPE_IME},
|
|---|
| 897 | { "WM_IME_COMPOSITIONFULL", WM_IME_COMPOSITIONFULL, // 0x0284
|
|---|
| 898 | TMP_MTF_TYPE_IME},
|
|---|
| 899 | { "WM_IME_SELECT", WM_IME_SELECT, // 0x0285
|
|---|
| 900 | TMP_MTF_TYPE_IME},
|
|---|
| 901 | { "WM_IME_CHAR", WM_IME_CHAR, // 0x0286
|
|---|
| 902 | TMP_MTF_TYPE_IME},
|
|---|
| 903 | #ifdef FE_IME
|
|---|
| 904 | { "WM_IMEKEYDOWN", WM_IMEKEYDOWN, // 0x0290
|
|---|
| 905 | MTF_TYPE_IME},
|
|---|
| 906 | { "WM_IMEKEYUP", WM_IMEKEYUP, // 0x0291
|
|---|
| 907 | MTF_TYPE_IME},
|
|---|
| 908 | #endif
|
|---|
| 909 | { "WM_CUT", WM_CUT, // 0x0300
|
|---|
| 910 | MTF_TYPE_CLIP},
|
|---|
| 911 | { "WM_COPY", WM_COPY, // 0x0301
|
|---|
| 912 | MTF_TYPE_CLIP},
|
|---|
| 913 | { "WM_PASTE", WM_PASTE, // 0x0302
|
|---|
| 914 | MTF_TYPE_CLIP},
|
|---|
| 915 | { "WM_CLEAR", WM_CLEAR, // 0x0303
|
|---|
| 916 | MTF_TYPE_CLIP},
|
|---|
| 917 | { "WM_UNDO", WM_UNDO, // 0x0304
|
|---|
| 918 | MTF_TYPE_CLIP},
|
|---|
| 919 | { "WM_RENDERFORMAT", WM_RENDERFORMAT, // 0x0305
|
|---|
| 920 | MTF_TYPE_CLIP},
|
|---|
| 921 | { "WM_RENDERALLFORMATS", WM_RENDERALLFORMATS, // 0x0306
|
|---|
| 922 | MTF_TYPE_CLIP},
|
|---|
| 923 | { "WM_DESTROYCLIPBOARD", WM_DESTROYCLIPBOARD, // 0x0307
|
|---|
| 924 | MTF_TYPE_CLIP},
|
|---|
| 925 | { "WM_DRAWCLIPBOARD", WM_DRAWCLIPBOARD, // 0x0308
|
|---|
| 926 | MTF_TYPE_CLIP},
|
|---|
| 927 | { "WM_PAINTCLIPBOARD", WM_PAINTCLIPBOARD, // 0x0309
|
|---|
| 928 | MTF_TYPE_CLIP},
|
|---|
| 929 | { "WM_VSCROLLCLIPBOARD", WM_VSCROLLCLIPBOARD, // 0x030A
|
|---|
| 930 | MTF_TYPE_CLIP},
|
|---|
| 931 | { "WM_SIZECLIPBOARD", WM_SIZECLIPBOARD, // 0x030B
|
|---|
| 932 | MTF_TYPE_CLIP},
|
|---|
| 933 | { "WM_ASKCBFORMATNAME", WM_ASKCBFORMATNAME, // 0x030C
|
|---|
| 934 | MTF_TYPE_CLIP},
|
|---|
| 935 | { "WM_CHANGECBCHAIN", WM_CHANGECBCHAIN, // 0x030D
|
|---|
| 936 | MTF_TYPE_CLIP},
|
|---|
| 937 | { "WM_HSCROLLCLIPBOARD", WM_HSCROLLCLIPBOARD, // 0x030E
|
|---|
| 938 | MTF_TYPE_CLIP},
|
|---|
| 939 | { "WM_QUERYNEWPALETTE", WM_QUERYNEWPALETTE, // 0x030F
|
|---|
| 940 | 0},
|
|---|
| 941 | { "WM_PALETTEISCHANGING", WM_PALETTEISCHANGING, // 0x0310
|
|---|
| 942 | 0},
|
|---|
| 943 | { "WM_PALETTECHANGED", WM_PALETTECHANGED, // 0x0311
|
|---|
| 944 | 0},
|
|---|
| 945 | { "WM_HOTKEY", WM_HOTKEY, // 0x0312
|
|---|
| 946 | MTF_TYPE_KEYBD},
|
|---|
| 947 | { "WM_DDE_INITIATE", WM_DDE_INITIATE, // 0x03E0
|
|---|
| 948 | MTF_TYPE_DDE},
|
|---|
| 949 | { "WM_DDE_TERMINATE", WM_DDE_TERMINATE, // 0x03E1
|
|---|
| 950 | MTF_TYPE_DDE},
|
|---|
| 951 | { "WM_DDE_ADVISE", WM_DDE_ADVISE, // 0x03E2
|
|---|
| 952 | MTF_TYPE_DDE},
|
|---|
| 953 | { "WM_DDE_UNADVISE", WM_DDE_UNADVISE, // 0x03E3
|
|---|
| 954 | MTF_TYPE_DDE},
|
|---|
| 955 | { "WM_DDE_ACK", WM_DDE_ACK, // 0x03E4
|
|---|
| 956 | MTF_TYPE_DDE},
|
|---|
| 957 | { "WM_DDE_DATA", WM_DDE_DATA, // 0x03E5
|
|---|
| 958 | MTF_TYPE_DDE},
|
|---|
| 959 | { "WM_DDE_REQUEST", WM_DDE_REQUEST, // 0x03E6
|
|---|
| 960 | MTF_TYPE_DDE},
|
|---|
| 961 | { "WM_DDE_POKE", WM_DDE_POKE, // 0x03E7
|
|---|
| 962 | MTF_TYPE_DDE},
|
|---|
| 963 | { "WM_DDE_EXECUTE", WM_DDE_EXECUTE, // 0x03E8
|
|---|
| 964 | MTF_TYPE_DDE}
|
|---|
| 965 | };
|
|---|
| 966 |
|
|---|
| 967 | INT gcMessages = sizeof(gaMsgs) / sizeof(MSGDESC);
|
|---|
| 968 |
|
|---|
| 969 |
|
|---|
| 970 | char *GetMsgText(int Msg)
|
|---|
| 971 | {
|
|---|
| 972 | static char msgtxt[64];
|
|---|
| 973 | int i;
|
|---|
| 974 |
|
|---|
| 975 | for(i=0;i<gcMessages;i++) {
|
|---|
| 976 | if(gaMsgs[i].msg == Msg)
|
|---|
| 977 | return(gaMsgs[i].pszMsg);
|
|---|
| 978 | }
|
|---|
| 979 | sprintf(msgtxt, "%s %X ", "Unknown Message ", Msg);
|
|---|
| 980 | return(msgtxt);
|
|---|
| 981 | }
|
|---|
| 982 | #endif
|
|---|
| 983 | //******************************************************************************
|
|---|
| 984 | //******************************************************************************
|
|---|
| 985 | Win32WindowProc *Win32WindowProc::windows = NULL;
|
|---|