private static IntPtr WndProc(IntPtr hWnd, int Msg, int wParam, int lParam) { Registration reg = null; if (!orig_winproc_dict.TryGetValue(hWnd, out reg)) { return(IntPtr.Zero); } if (Msg == toolbar_created_msg) { ThumbnailToolbar tb = new ThumbnailToolbar(hWnd); toolbars[hWnd] = tb; reg.CreationCallback(tb); } else if (Msg == WM_COMMAND && HiWord(wParam) == THBN_CLICKED) { int button_id = LoWord(wParam); ThumbnailToolbar tb; if (toolbars.TryGetValue(hWnd, out tb)) { ThumbnailToolbarButton button = tb.Buttons.SingleOrDefault(b => b.Id == button_id); if (button != null) { button.FireClicked(); } } } return(CallWindowProcW(reg.OrigWinProc, hWnd, Msg, wParam, lParam)); }
private static IntPtr WndProc (IntPtr hWnd, int Msg, int wParam, int lParam) { Registration reg = null; if (!orig_winproc_dict.TryGetValue (hWnd, out reg)) return IntPtr.Zero; if (Msg == toolbar_created_msg) { ThumbnailToolbar tb = new ThumbnailToolbar (hWnd); toolbars[hWnd] = tb; reg.CreationCallback (tb); } else if (Msg == WM_COMMAND && HiWord (wParam) == THBN_CLICKED) { int button_id = LoWord (wParam); ThumbnailToolbar tb; if (toolbars.TryGetValue (hWnd, out tb)) { ThumbnailToolbarButton button = tb.Buttons.SingleOrDefault (b => b.Id == button_id); if (button != null) button.FireClicked (); } } return CallWindowProcW (reg.OrigWinProc, hWnd, Msg, wParam, lParam); }