diff --git a/dll/win32/browseui/shellfind/CSearchBar.cpp b/dll/win32/browseui/shellfind/CSearchBar.cpp index f2329b6e250..803521619ce 100644 --- a/dll/win32/browseui/shellfind/CSearchBar.cpp +++ b/dll/win32/browseui/shellfind/CSearchBar.cpp @@ -134,6 +134,29 @@ LRESULT CSearchBar::OnSearchButtonClicked(WORD wNotifyCode, WORD wID, HWND hWndC return pShellBrowser->BrowseObject(findFolderPidl, 0); } +LRESULT CSearchBar::OnClicked(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) +{ + HRESULT hr; + CComPtr pShellBrowser; + hr = IUnknown_QueryService(pSite, SID_SShellBrowser, IID_PPV_ARG(IShellBrowser, &pShellBrowser)); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + CComPtr pShellView; + hr = pShellBrowser->QueryActiveShellView(&pShellView); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + HWND hwnd; + hr = pShellView->GetWindow(&hwnd); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + LPWSTR path = (LPWSTR) L"C:\\readme.txt"; + + // TODO: Use message ID in header file + ::PostMessageW(hwnd, WM_USER, 0, (LPARAM) StrDupW(path)); + return 0; +} + // *** IOleWindow methods *** HRESULT STDMETHODCALLTYPE CSearchBar::GetWindow(HWND *lphwnd) diff --git a/dll/win32/browseui/shellfind/CSearchBar.h b/dll/win32/browseui/shellfind/CSearchBar.h index 81c9455b980..3bef4202bab 100644 --- a/dll/win32/browseui/shellfind/CSearchBar.h +++ b/dll/win32/browseui/shellfind/CSearchBar.h @@ -48,6 +48,7 @@ private: // *** ATL event handlers *** LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); LRESULT OnSearchButtonClicked(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); + LRESULT OnClicked(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); public: CSearchBar(); @@ -136,5 +137,6 @@ public: BEGIN_MSG_MAP(CSearchBar) MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus) COMMAND_CODE_HANDLER(BN_CLICKED, OnSearchButtonClicked) + MESSAGE_HANDLER(WM_LBUTTONDOWN, OnClicked) END_MSG_MAP() };