return S_OK;
}
+LRESULT CFindFolder::StopSearch(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
+{
+ if (m_hStopEvent)
+ {
+ SetEvent(m_hStopEvent);
+ m_hStopEvent = NULL;
+ }
+ return 0;
+}
+
LRESULT CFindFolder::AddResult(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
{
if (!lParam)
#include "shellfind.h"
-#define SWM_ADD_ITEM (WM_USER + 0)
-#define SWM_UPDATE_STATUS (WM_USER + 1)
-
class CFindFolder :
public CWindowImpl<CFindFolder>,
public CComCoClass<CFindFolder, &CLSID_FindFolder>,
// *** Message handlers ***
LRESULT StartSearch(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
+ LRESULT StopSearch(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
+
LRESULT AddResult(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
LRESULT UpdateStatus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
BEGIN_MSG_MAP(CFindFolder)
MESSAGE_HANDLER(WM_SEARCH_START, StartSearch)
+ MESSAGE_HANDLER(WM_SEARCH_STOP, StopSearch)
MESSAGE_HANDLER(WM_SEARCH_ADD_RESULT, AddResult)
MESSAGE_HANDLER(WM_SEARCH_UPDATE_STATUS, UpdateStatus)
END_MSG_MAP()
#include "../resource.h"
#define WM_SEARCH_START WM_USER + 0
-#define WM_SEARCH_ADD_RESULT WM_USER + 1
-#define WM_SEARCH_UPDATE_STATUS WM_USER + 2
+#define WM_SEARCH_STOP WM_USER + 1
+#define WM_SEARCH_ADD_RESULT WM_USER + 2
+#define WM_SEARCH_UPDATE_STATUS WM_USER + 3
struct SearchStart
{