diff options
Diffstat (limited to 'alf/alfpanel.cpp')
| -rw-r--r-- | alf/alfpanel.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/alf/alfpanel.cpp b/alf/alfpanel.cpp index 62bac1e..be02890 100644 --- a/alf/alfpanel.cpp +++ b/alf/alfpanel.cpp @@ -152,6 +152,22 @@ ALF_Panel_DefWindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam) return TRUE; } + if (msg == WM_COMMAND && priv->vtbl && priv->vtbl->command) { + HWND source = (HWND)lparam; + WORD code = HIWORD(wparam); + WORD id = LOWORD(wparam); + LRESULT r = priv->vtbl->command(priv->closure, window, code, id, source); + if (r) + return r; + } + + if (msg == WM_NOTIFY && priv->vtbl && priv->vtbl->notify) { + NMHDR *nmhdr = (NMHDR *)lparam; + LRESULT r = priv->vtbl->notify(priv->closure, window, wparam, nmhdr); + if (r) + return r; + } + if (ALF_ShouldMessageBubble(window, msg, wparam, lparam)) return SendMessage(GetParent(window), msg, wparam, lparam); |
