diff --git a/button_windows.c b/button_windows.c index c57b7789..149c52b1 100644 --- a/button_windows.c +++ b/button_windows.c @@ -17,7 +17,7 @@ static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult) return TRUE; } -static BOOL onWM_NOTIFY(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult) +static BOOL onWM_NOTIFY(uiControl *c, NMHDR *nm, LRESULT *lResult) { return FALSE; } diff --git a/checkbox_windows.c b/checkbox_windows.c index abe128d5..4f903ef9 100644 --- a/checkbox_windows.c +++ b/checkbox_windows.c @@ -27,7 +27,7 @@ static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult) return TRUE; } -static BOOL onWM_NOTIFY(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult) +static BOOL onWM_NOTIFY(uiControl *c, NMHDR *nm, LRESULT *lResult) { return FALSE; } diff --git a/entry_windows.c b/entry_windows.c index df4a91d7..41614c5d 100644 --- a/entry_windows.c +++ b/entry_windows.c @@ -9,7 +9,7 @@ static BOOL onWM_COMMAND(uiControl *c, WORD code, LRESULT *lResult) return FALSE; } -static BOOL onWM_NOTIFY(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult) +static BOOL onWM_NOTIFY(uiControl *c, NMHDR *nm, LRESULT *lResult) { return FALSE; } diff --git a/newcontrol_windows.c b/newcontrol_windows.c index f95f67f9..0122db73 100644 --- a/newcontrol_windows.c +++ b/newcontrol_windows.c @@ -6,7 +6,7 @@ typedef struct singleHWND singleHWND; struct singleHWND { HWND hwnd; BOOL (*onWM_COMMAND)(uiControl *, WORD, LRESULT *); - BOOL (*onWM_NOTIFY)(uiControl *, WPARAM, LPARAM, LRESULT *); + BOOL (*onWM_NOTIFY)(uiControl *, NMHDR *, LRESULT *); void (*onWM_DESTROY)(uiControl *); uintptr_t parent; }; @@ -69,7 +69,7 @@ static LRESULT CALLBACK singleSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, return lResult; break; case msgNOTIFY: - if ((*(s->onWM_NOTIFY))(c, wParam, lParam, &lResult) != FALSE) + if ((*(s->onWM_NOTIFY))(c, (NMHDR *) lParam, &lResult) != FALSE) return lResult; break; case WM_DESTROY: diff --git a/ui_windows.h b/ui_windows.h index b89af3af..cfea2877 100644 --- a/ui_windows.h +++ b/ui_windows.h @@ -22,9 +22,8 @@ struct uiWindowsNewControlParams { // ui redirects the message back and calls these functions. // Store the result in *lResult and return any non-FALSE value (such as TRUE) to return the given result; return FALSE to pass the notification up to your window procedure. // Note that these are only issued if they come from the uiControl itself; notifications from children of the uiControl (such as a header control) will be received normally. - // TODO don't give WPARAM/LPARAM raw BOOL (*onWM_COMMAND)(uiControl *c, WORD code, LRESULT *lResult); - BOOL (*onWM_NOTIFY)(uiControl *c, WPARAM wParam, LPARAM lParam, LRESULT *lResult); + BOOL (*onWM_NOTIFY)(uiControl *c, NMHDR *nm, LRESULT *lResult); // This is called in WM_DESTROY. void (*onWM_DESTROY)(uiControl *c); };