Commit 4bfc2a8a authored by Uwe Bonnes's avatar Uwe Bonnes Committed by Alexandre Julliard

Remember owner HWND when creating and use this hwnd for the WM_NOTIFY

message target.
parent 2e642081
......@@ -67,6 +67,7 @@ typedef struct _TREEITEM /* HTREEITEM is a _TREEINFO *. */
typedef struct tagTREEVIEW_INFO
{
HWND hwnd;
HWND hwndNotify; /* Owner window to send notifications to */
DWORD dwStyle;
HTREEITEM root;
UINT uInternalStatus;
......@@ -397,7 +398,7 @@ TREEVIEW_SendSimpleNotify(TREEVIEW_INFO *infoPtr, UINT code)
nmhdr.idFrom = GetWindowLongA(hwnd, GWL_ID);
nmhdr.code = code;
return (BOOL)SendMessageA(GetParent(hwnd), WM_NOTIFY,
return (BOOL)SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)nmhdr.idFrom, (LPARAM)&nmhdr);
}
......@@ -443,7 +444,7 @@ TREEVIEW_SendTreeviewNotify(TREEVIEW_INFO *infoPtr, UINT code, UINT action,
nmhdr.ptDrag.x = 0;
nmhdr.ptDrag.y = 0;
return (BOOL)SendMessageA(GetParent(hwnd), WM_NOTIFY,
return (BOOL)SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)GetWindowLongA(hwnd, GWL_ID),
(LPARAM)&nmhdr);
}
......@@ -469,7 +470,7 @@ TREEVIEW_SendTreeviewDnDNotify(TREEVIEW_INFO *infoPtr, UINT code,
nmhdr.ptDrag.x = pt.x;
nmhdr.ptDrag.y = pt.y;
return (BOOL)SendMessageA(GetParent(hwnd), WM_NOTIFY,
return (BOOL)SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)GetWindowLongA(hwnd, GWL_ID),
(LPARAM)&nmhdr);
}
......@@ -499,7 +500,7 @@ TREEVIEW_SendCustomDrawNotify(TREEVIEW_INFO *infoPtr, DWORD dwDrawStage,
nmcdhdr.clrTextBk = infoPtr->clrBk;
nmcdhdr.iLevel = 0;
return (BOOL)SendMessageA(GetParent(hwnd), WM_NOTIFY,
return (BOOL)SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)GetWindowLongA(hwnd, GWL_ID),
(LPARAM)&nmcdhdr);
}
......@@ -547,7 +548,7 @@ TREEVIEW_SendCustomDrawItemNotify(TREEVIEW_INFO *infoPtr, HDC hdc,
nmcd->dwDrawStage, nmcd->hdc, nmcd->dwItemSpec,
nmcd->uItemState, nmcd->lItemlParam);
retval = SendMessageA(GetParent(hwnd), WM_NOTIFY,
retval = SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)GetWindowLongA(hwnd, GWL_ID),
(LPARAM)&nmcdhdr);
......@@ -573,7 +574,7 @@ TREEVIEW_BeginLabelEditNotify(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *editItem)
tvdi.item.pszText = editItem->pszText;
tvdi.item.cchTextMax = editItem->cchTextMax;
return SendMessageA(GetParent(hwnd), WM_NOTIFY, tvdi.hdr.idFrom,
return SendMessageA(infoPtr->hwndNotify, WM_NOTIFY, tvdi.hdr.idFrom,
(LPARAM)&tvdi);
}
......@@ -606,7 +607,7 @@ TREEVIEW_UpdateDispInfo(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *wineItem,
if (mask & TVIF_TEXT)
wineItem->textWidth = 0;
SendMessageA(GetParent(hwnd), WM_NOTIFY, callback.hdr.idFrom, (LPARAM)&callback);
SendMessageA(infoPtr->hwndNotify, WM_NOTIFY, callback.hdr.idFrom, (LPARAM)&callback);
/* It may have changed due to a call to SetItem. */
mask &= wineItem->callbackMask;
......@@ -3452,7 +3453,7 @@ TREEVIEW_EndEditLabelNow(TREEVIEW_INFO *infoPtr, BOOL bCancel)
tvdi.item.cchTextMax = 0;
}
bCommit = (BOOL)SendMessageA(GetParent(hwnd),
bCommit = (BOOL)SendMessageA(infoPtr->hwndNotify,
WM_NOTIFY,
(WPARAM)tvdi.hdr.idFrom, (LPARAM)&tvdi);
......@@ -4408,8 +4409,8 @@ TREEVIEW_Create(HWND hwnd)
infoPtr->root->iLevel = -1;
infoPtr->root->visibleOrder = -1;
infoPtr->hwndNotify = GetParent(hwnd);
#if 0
infoPtr->hwndNotify = GetParent32 (hwnd);
infoPtr->bTransparent = ( GetWindowLongA( hwnd, GWL_STYLE) & TBSTYLE_FLAT);
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment