Ignore:
Timestamp:
Jun 26, 1999, 3:21:53 PM (26 years ago)
Author:
sandervl
Message:

Spy and window message changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/wndproc.cpp

    r208 r215  
    1 /* $Id: wndproc.cpp,v 1.8 1999-06-26 08:25:22 sandervl Exp $ */
     1/* $Id: wndproc.cpp,v 1.9 1999-06-26 13:21:11 sandervl Exp $ */
    22
    33/*
     
    1515#include <string.h>
    1616#include <stdarg.h>
     17#include <stdlib.h>
    1718#include <assert.h>
    18 #include "misc.h"
    19 #include "user32.h"
    20 #include "wndproc.h"
    21 #include "wndsubproc.h"
    22 #include "wndclass.h"
     19#include <misc.h>
     20#include <wndproc.h>
     21#include <wndclass.h>
     22#include <spy.h>
    2323#include "dlgconvert.h"
    2424#include "hooks.h"
    25 #include <spy.h>
    2625
    2726#ifdef DEBUG
     
    4140        if(dwStyle & WS_CHILD && !(dwExStyle & WS_EX_NOPARENTNOTIFY) )
    4241        {
     42                //NOTE: Open32's SendMessage swallows a WM_PARENTNOTIFY, so call
     43                //      the win32 callback handler directly!
    4344                hwndParent = GetParent(hwnd);
     45                if(hwnd == hwndParent) {
     46                        break;
     47                }
     48
    4449                dprintf(("%s Send WM_PARENTNOTIFY from child %x to parent %x", GetMsgText(Msg), hwnd, hwndParent));
    4550                /* Notify the parent window only */
     
    4853                        if(Msg == WM_CREATE || Msg == WM_DESTROY) {
    4954                                //Todo: Set IdChild!!
    50                                 parentwnd->GetWin32Callback()(hwndParent, WM_PARENTNOTIFY, MAKEWPARAM(Msg, 0), (LPARAM)hwnd );
     55                                parentwnd->SendMessageA(hwndParent, WM_PARENTNOTIFY, MAKEWPARAM(Msg, 0), (LPARAM)hwnd );
    5156                        }
    52                         else    parentwnd->GetWin32Callback()(hwndParent, WM_PARENTNOTIFY, MAKEWPARAM(Msg, 0), lParam );
     57                        else    parentwnd->SendMessageA(hwndParent, WM_PARENTNOTIFY, MAKEWPARAM(Msg, 0), lParam );
    5358                }
    5459        }
    55         if(hwnd == hwndParent) {
    56                 break;
    57         }
     60        else    break;
     61
    5862        hwnd = hwndParent;
    5963   }
     
    220224  WriteLog("::DeleteWindow, can't find window %X!!\n", hwnd);
    221225#endif
     226}
     227//******************************************************************************
     228//******************************************************************************
     229LRESULT Win32WindowProc::SendMessageA(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam)
     230{
     231  PostSpyMessage(hwnd, Msg, wParam, lParam);
     232  return pCallback(hwnd, Msg, wParam, lParam); 
    222233}
    223234//******************************************************************************
     
    300311                break;
    301312        case WM_CREATE:  //Open32 isn't sending WM_NCCREATE messages!!
    302                 if(curwnd->pCallback(hwnd, WM_NCCREATE, 0, lParam) == 0) {
     313                if(curwnd->SendMessageA(hwnd, WM_NCCREATE, 0, lParam) == 0) {
    303314                       dprintf(("WM_NCCREATE returned FALSE\n"));
    304315                       return(-1); //don't create window
     
    308319//TODO
    309320#if 0
    310                 if(curwnd->pCallback(hwnd, WM_NCCALCSIZE, 0, lParam) == 0) {
     321                if(curwnd->SendMessageA(hwnd, WM_NCCALCSIZE, 0, lParam) == 0) {
    311322                        return(-1); //don't create window
    312323                }
     
    326337                  HDC hdc = GetDC(hwnd);
    327338
    328                         curwnd->pCallback(hwnd, WM_ERASEBKGND, hdc, 0);
     339                        curwnd->SendMessageA(hwnd, WM_ERASEBKGND, hdc, 0);
    329340                        ReleaseDC(hwnd, hdc);
    330341                }
     342                break;
     343        case WM_MOUSEACTIVATE:
     344                //Open32 sends an OS/2 window message for a button click
     345                if(HIWORD(lParam) == 0x71)  //WM_BUTTONCLICKFIRST
     346                {
     347                        lParam = (WM_LBUTTONDOWN << 16) | LOWORD(lParam);
     348                }
    331349                break;
    332350        }
     
    334352        if(Msg == WM_NCDESTROY) {
    335353                dprintf(("WM_NCDESTROY received for window/dialog %X\n", curwnd->hwnd));
    336                 Win32WindowSubProc::DeleteSubWindow(hwnd); //if present
    337354                delete curwnd;
    338355        }
Note: See TracChangeset for help on using the changeset viewer.