Changeset 2956 for trunk/src/user32/win32wbase.cpp
- Timestamp:
- Mar 1, 2000, 2:30:07 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/win32wbase.cpp
r2948 r2956 1 /* $Id: win32wbase.cpp,v 1.17 0 2000-02-29 19:16:12sandervl Exp $ */1 /* $Id: win32wbase.cpp,v 1.171 2000-03-01 13:30:05 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 45 45 #include "controls.h" 46 46 #include <wprocess.h> 47 #include "winmouse.h"48 47 #include <win\hook.h> 49 48 #include <menu.h> … … 864 863 { 865 864 switch(virtualkey) { 865 case VK_LEFT: 866 case VK_RIGHT: 866 867 case VK_DOWN: 867 868 case VK_UP: … … 939 940 } 940 941 941 if(ISMOUSE_CAPTURED())942 {943 if(DInputMouseHandler(getWindowHandle(), MOUSEMSG_BUTTON, msg->pt.x, msg->pt.y))944 return 0;945 }946 947 942 if(fClick) 948 943 { … … 965 960 && (hwndTop != GetForegroundWindow()) ) 966 961 { 967 ::SetActiveWindow(hwndTop); 962 //SvL: Calling OSLibSetActiveWindow(hwndTop); causes focus problems 963 OSLibWinSetFocus(getOS2FrameWindowHandle()); 968 964 } 969 965 } … … 1007 1003 ULONG Win32BaseWindow::MsgMouseMove(MSG *msg) 1008 1004 { 1009 if(ISMOUSE_CAPTURED()) {1010 if(DInputMouseHandler(getWindowHandle(), MOUSEMSG_MOVE, msg->pt.x, msg->pt.y))1011 return 0;1012 }1013 1014 1005 //TODO: hiword should be 0 if window enters menu mode (SDK docs) 1015 1006 SendInternalMessageA(WM_SETCURSOR, Win32Hwnd, MAKELONG(lastHitTestVal, msg->message)); … … 1022 1013 ULONG Win32BaseWindow::MsgChar(MSG *msg) 1023 1014 { 1024 if(ISKDB_CAPTURED())1025 {1026 DInputKeyBoardHandler(msg);1027 }1028 1015 return DispatchMsgA(msg); 1029 1016 } … … 2417 2404 //the current process owns them. 2418 2405 //****************************************************************************** 2419 HWND Win32BaseWindow::FindWindowEx(HWND hwndParent, HWND hwndChildAfter, LPSTR lpszClass, LPSTR lpszWindow, 2420 BOOL fUnicode) 2406 HWND Win32BaseWindow::FindWindowEx(HWND hwndParent, HWND hwndChildAfter, ATOM atom, LPSTR lpszWindow) 2421 2407 { 2422 2408 Win32BaseWindow *parent = GetWindowFromHandle(hwndParent); 2423 2409 Win32BaseWindow *child = GetWindowFromHandle(hwndChildAfter); 2424 2410 2425 if((hwndParent != OSLIB_HWND_DESKTOP && !parent) || 2411 dprintf(("FindWindowEx %x %x %x %s", hwndParent, hwndChildAfter, atom, lpszWindow)); 2412 if((hwndParent != 0 && !parent) || 2426 2413 (hwndChildAfter != 0 && !child) || 2427 (hwndParent == OSLIB_HWND_DESKTOP&& hwndChildAfter != 0))2414 (hwndParent == 0 && hwndChildAfter != 0)) 2428 2415 { 2429 2416 dprintf(("Win32BaseWindow::FindWindowEx: parent or child not found %x %x", hwndParent, hwndChildAfter)); … … 2431 2418 return 0; 2432 2419 } 2433 if(hwndParent != OSLIB_HWND_DESKTOP) 2420 SetLastError(0); 2421 if(hwndParent != 0) 2434 2422 {//if the current process owns the window, just do a quick search 2435 2423 child = (Win32BaseWindow *)parent->getFirstChild(); … … 2448 2436 while(child) 2449 2437 { 2450 if(child->getWindowClass()->hasClassName(lpszClass, fUnicode) && 2451 (!lpszWindow || child->hasWindowName(lpszWindow, fUnicode))) 2438 //According to Wine, the class doesn't need to be specified 2439 if((!atom || child->getWindowClass()->getAtom() == atom) && 2440 (!lpszWindow || child->hasWindowName(lpszWindow))) 2452 2441 { 2453 2442 dprintf(("FindWindowEx: Found window %x", child->getWindowHandle())); … … 2474 2463 2475 2464 if(wnd) { 2476 if(wnd->getWindowClass()->hasClassName(lpszClass, fUnicode) && 2477 (!lpszWindow || wnd->hasWindowName(lpszWindow, fUnicode))) 2465 //According to Wine, the class doesn't need to be specified 2466 if((!atom || wnd->getWindowClass()->getAtom() == atom) && 2467 (!lpszWindow || wnd->hasWindowName(lpszWindow))) 2478 2468 { 2479 2469 OSLibWinEndEnumWindows(henum); … … 2572 2562 dprintf(("SetActiveWindow %x", getWindowHandle())); 2573 2563 if(OSLibWinSetActiveWindow(OS2HwndFrame) == FALSE) { 2574 2564 dprintf(("OSLibWinSetActiveWindow %x returned FALSE!", OS2HwndFrame)); 2575 2565 } 2576 2566 hwndActive = GetActiveWindow();
Note:
See TracChangeset
for help on using the changeset viewer.