ChangeLog Make updown send its notifications to the parent window passed to it in CREATESTRUCT. Based on a treeview patch by Igor Grahek. Index: dlls/comctl32/updown.c =================================================================== RCS file: /var/cvs/wine/dlls/comctl32/updown.c,v retrieving revision 1.55 diff -u -r1.55 updown.c --- dlls/comctl32/updown.c 22 Sep 2003 21:32:33 -0000 1.55 +++ dlls/comctl32/updown.c 3 Nov 2003 21:05:17 -0000 @@ -48,6 +48,7 @@ typedef struct { HWND Self; /* Handle to this up-down control */ + HWND Notify; /* Handle to the parent window */ UINT AccelCount; /* Number of elements in AccelVect */ UDACCEL* AccelVect; /* Vector containing AccelCount elements */ INT AccelIndex; /* Current accel index, -1 if not accel'ing */ @@ -562,8 +563,7 @@ ni.hdr.hwndFrom = infoPtr->Self; ni.hdr.idFrom = GetWindowLongW (infoPtr->Self, GWL_ID); ni.hdr.code = UDN_DELTAPOS; - if (!SendMessageW(GetParent (infoPtr->Self), WM_NOTIFY, - (WPARAM)ni.hdr.idFrom, (LPARAM)&ni)) { + if (!SendMessageW(infoPtr->Notify, WM_NOTIFY, (WPARAM)ni.hdr.idFrom, (LPARAM)&ni)) { /* Parent said: OK to adjust */ /* Now adjust value with (maybe new) delta */ @@ -574,10 +574,8 @@ } /* Also, notify it. This message is sent in any case. */ - SendMessageW( GetParent(infoPtr->Self), - dwStyle & UDS_HORZ ? WM_HSCROLL : WM_VSCROLL, - MAKELONG(SB_THUMBPOSITION, infoPtr->CurVal), - (LPARAM)infoPtr->Self); + SendMessageW( infoPtr->Notify, dwStyle & UDS_HORZ ? WM_HSCROLL : WM_VSCROLL, + MAKELONG(SB_THUMBPOSITION, infoPtr->CurVal), (LPARAM)infoPtr->Self); } /*********************************************************************** @@ -616,7 +614,7 @@ hdr.hwndFrom = infoPtr->Self; hdr.idFrom = GetWindowLongW (infoPtr->Self, GWL_ID); hdr.code = NM_RELEASEDCAPTURE; - SendMessageW(GetParent (infoPtr->Self), WM_NOTIFY, hdr.idFrom, (LPARAM)&hdr); + SendMessageW(infoPtr->Notify, WM_NOTIFY, hdr.idFrom, (LPARAM)&hdr); ReleaseCapture(); } @@ -720,6 +718,7 @@ /* initialize the info struct */ infoPtr->Self = hwnd; + infoPtr->Notify = ((LPCREATESTRUCTA)lParam)->hwndParent; infoPtr->AccelCount = 0; infoPtr->AccelVect = 0; infoPtr->AccelIndex = -1; @@ -798,7 +797,7 @@ if ( (infoPtr->Flags & FLAG_MOUSEIN) && (infoPtr->Flags & FLAG_ARROW) ) { - SendMessageW( GetParent(hwnd), + SendMessageW( infoPtr->Notify, dwStyle & UDS_HORZ ? WM_HSCROLL : WM_VSCROLL, MAKELONG(SB_ENDSCROLL, infoPtr->CurVal), (LPARAM)hwnd); -- Dimi.