ReactOS 0.4.15-dev-7928-g68a8619
CSearchBar Class Reference

#include <appview.h>

Inheritance diagram for CSearchBar:
Collaboration diagram for CSearchBar:

Public Types

enum  { IDD = IDD_SEARCH_DLG }
 
- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IObjectWithSite
typedef IObjectWithSiteLPOBJECTWITHSITE
 
- Public Types inherited from IPersistStream
typedef IPersistStreamLPPERSISTSTREAM
 
- Public Types inherited from IPersist
typedef IPersistLPPERSIST
 
- Public Types inherited from IDispatch
typedef IDispatchLPDISPATCH
 
- Public Types inherited from ATL::CWindowImplRoot< TBase >
enum  { WINSTATE_DESTROYED = 0x00000001 }
 

Public Member Functions

 CSearchBar ()
 
VOID SetText (LPCWSTR lpszText)
 
HWND Create (HWND hwndParent)
 
 CSearchBar ()
 
virtual ~CSearchBar ()
 
STDMETHOD() GetWindow (HWND *lphwnd) override
 
STDMETHOD() ContextSensitiveHelp (BOOL fEnterMode) override
 
STDMETHOD() CloseDW (DWORD dwReserved) override
 
STDMETHOD() ResizeBorderDW (const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) override
 
STDMETHOD() ShowDW (BOOL fShow) override
 
STDMETHOD() GetBandInfo (DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi) override
 
STDMETHOD() SetSite (IUnknown *pUnkSite) override
 
STDMETHOD() GetSite (REFIID riid, void **ppvSite) override
 
STDMETHOD() UIActivateIO (BOOL fActivate, LPMSG lpMsg) override
 
STDMETHOD() HasFocusIO () override
 
STDMETHOD() TranslateAcceleratorIO (LPMSG lpMsg) override
 
STDMETHOD() GetClassID (CLSID *pClassID) override
 
STDMETHOD() IsDirty () override
 
STDMETHOD() Load (IStream *pStm) override
 
STDMETHOD() Save (IStream *pStm, BOOL fClearDirty) override
 
STDMETHOD() GetSizeMax (ULARGE_INTEGER *pcbSize) override
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo) override
 
STDMETHOD() GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) override
 
STDMETHOD() GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) override
 
STDMETHOD() Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
 
- Public Member Functions inherited from ATL::CWindow
 CWindow (HWND hWnd=NULL)
 
 operator HWND () const
 
UINT ArrangeIconicWindows ()
 
void Attach (HWND hWndNew)
 
HDC BeginPaint (LPPAINTSTRUCT lpPaint)
 
BOOL BringWindowToTop ()
 
BOOL CenterWindow (HWND hWndCenter=NULL)
 
BOOL ChangeClipboardChain (HWND hWndNewNext)
 
BOOL CheckDlgButton (int nIDButton, UINT nCheck)
 
BOOL CheckRadioButton (int nIDFirstButton, int nIDLastButton, int nIDCheckButton)
 
HWND ChildWindowFromPoint (POINT point) const
 
HWND ChildWindowFromPointEx (POINT point, UINT uFlags) const
 
BOOL ClientToScreen (LPPOINT lpPoint) const
 
BOOL ClientToScreen (LPRECT lpRect) const
 
HWND Create (LPCTSTR lpstrWndClass, HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
 
BOOL CreateCaret (HBITMAP pBitmap)
 
BOOL CreateGrayCaret (int nWidth, int nHeight)
 
BOOL CreateSolidCaret (int nWidth, int nHeight)
 
HDWP DeferWindowPos (HDWP hWinPosInfo, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags)
 
BOOL DestroyWindow ()
 
HWND Detach ()
 
int DlgDirList (LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT nFileType)
 
int DlgDirListComboBox (LPTSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT nFileType)
 
BOOL DlgDirSelect (LPTSTR lpString, int nCount, int nIDListBox)
 
BOOL DlgDirSelectComboBox (LPTSTR lpString, int nCount, int nIDComboBox)
 
void DragAcceptFiles (BOOL bAccept=TRUE)
 
BOOL DrawMenuBar ()
 
BOOL EnableScrollBar (UINT uSBFlags, UINT uArrowFlags=ESB_ENABLE_BOTH)
 
BOOL EnableWindow (BOOL bEnable=TRUE)
 
void EndPaint (LPPAINTSTRUCT lpPaint)
 
BOOL FlashWindow (BOOL bInvert)
 
BOOL GetClientRect (LPRECT lpRect) const
 
HDC GetDC ()
 
HDC GetDCEx (HRGN hRgnClip, DWORD flags)
 
HWND GetDescendantWindow (int nID) const
 
HRESULT GetDlgControl (int nID, REFIID iid, void **ppCtrl)
 
int GetDlgCtrlID () const
 
HRESULT GetDlgHost (int nID, REFIID iid, void **ppHost)
 
HWND GetDlgItem (_In_ int nID) const
 
UINT GetDlgItemInt (_In_ int nID, _Out_opt_ BOOL *lpTrans=NULL, _In_ BOOL bSigned=TRUE) const
 
UINT GetDlgItemText (_In_ int nID, _Out_writes_to_(nMaxCount, return+1) LPTSTR lpStr, _In_ int nMaxCount) const
 
BOOL GetDlgItemText (_In_ int nID, _Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
 
DWORD GetExStyle () const
 
HFONT GetFont () const
 
DWORD GetHotKey () const
 
HICON GetIcon (BOOL bBigIcon=TRUE) const
 
HWND GetLastActivePopup () const
 
HMENU GetMenu () const
 
HWND GetNextDlgGroupItem (HWND hWndCtl, BOOL bPrevious=FALSE) const
 
HWND GetNextDlgTabItem (HWND hWndCtl, BOOL bPrevious=FALSE) const
 
CWindow GetParent () const
 
BOOL GetScrollInfo (int nBar, LPSCROLLINFO lpScrollInfo)
 
BOOL GetScrollPos (int nBar)
 
BOOL GetScrollRange (int nBar, LPINT lpMinPos, LPINT lpMaxPos) const
 
DWORD GetStyle () const
 
HMENU GetSystemMenu (BOOL bRevert)
 
HWND GetTopLevelParent () const
 
HWND GetTopLevelWindow () const
 
HWND GetTopWindow () const
 
BOOL GetUpdateRect (LPRECT lpRect, BOOL bErase=FALSE)
 
int GetUpdateRgn (HRGN hRgn, BOOL bErase=FALSE)
 
HWND GetWindow (UINT nCmd) const
 
DWORD GetWindowContextHelpId () const
 
HDC GetWindowDC ()
 
LONG GetWindowLong (int nIndex) const
 
LONG_PTR GetWindowLongPtr (int nIndex) const
 
BOOL GetWindowPlacement (WINDOWPLACEMENT *lpwndpl) const
 
DWORD GetWindowProcessID ()
 
BOOL GetWindowRect (LPRECT lpRect) const
 
int GetWindowRgn (HRGN hRgn)
 
int GetWindowText (_Out_writes_to_(nMaxCount, return+1) LPTSTR lpszStringBuf, _In_ int nMaxCount) const
 
BOOL GetWindowText (_Inout_ _Outref_result_maybenull_ _Post_z_ BSTR &bstrText) const
 
int GetWindowTextLength () const
 
DWORD GetWindowThreadID ()
 
WORD GetWindowWord (int nIndex) const
 
void GotoDlgCtrl (HWND hWndCtrl) const
 
BOOL HideCaret ()
 
BOOL HiliteMenuItem (HMENU hMenu, UINT uHiliteItem, UINT uHilite)
 
BOOL Invalidate (BOOL bErase=TRUE)
 
BOOL InvalidateRect (LPCRECT lpRect, BOOL bErase=TRUE)
 
void InvalidateRgn (HRGN hRgn, BOOL bErase=TRUE)
 
BOOL IsChild (const HWND hWnd) const
 
BOOL IsDialogMessage (LPMSG lpMsg)
 
UINT IsDlgButtonChecked (int nIDButton) const
 
BOOL IsIconic () const
 
BOOL IsParentDialog ()
 
BOOL IsWindow () const
 
BOOL IsWindowEnabled () const
 
BOOL IsWindowVisible () const
 
BOOL IsWindowUnicode ()
 
BOOL IsZoomed () const
 
BOOL KillTimer (UINT_PTR nIDEvent)
 
BOOL LockWindowUpdate (BOOL bLock=TRUE)
 
int MapWindowPoints (HWND hWndTo, LPPOINT lpPoint, UINT nCount) const
 
int MapWindowPoints (HWND hWndTo, LPRECT lpRect) const
 
int MessageBox (LPCTSTR lpszText, LPCTSTR lpszCaption=NULL, UINT nType=MB_OK)
 
BOOL ModifyStyle (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 
BOOL ModifyStyleEx (DWORD dwRemove, DWORD dwAdd, UINT nFlags=0)
 
BOOL MoveWindow (int x, int y, int nWidth, int nHeight, BOOL bRepaint=TRUE)
 
void NextDlgCtrl () const
 
BOOL OpenClipboard ()
 
BOOL PostMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void PrevDlgCtrl () const
 
void Print (HDC hDC, DWORD dwFlags) const
 
void PrintClient (HDC hDC, DWORD dwFlags) const
 
BOOL RedrawWindow (LPCRECT lpRectUpdate=NULL, HRGN hRgnUpdate=NULL, UINT flags=RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE)
 
int ReleaseDC (HDC hDC)
 
BOOL ResizeClient (int nWidth, int nHeight, BOOL bRedraw=FALSE)
 
BOOL ScreenToClient (LPPOINT lpPoint) const
 
BOOL ScrollWindow (int xAmount, int yAmount, LPCRECT lpRect=NULL, LPCRECT lpClipRect=NULL)
 
int ScrollWindowEx (int dx, int dy, LPCRECT lpRectScroll, LPCRECT lpRectClip, HRGN hRgnUpdate, LPRECT lpRectUpdate, UINT flags)
 
LRESULT SendDlgItemMessage (int nID, UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
LRESULT SendMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
void SendMessageToDescendants (UINT message, WPARAM wParam=0, LPARAM lParam=0, BOOL bDeep=TRUE)
 
BOOL SendNotifyMessage (UINT message, WPARAM wParam=0, LPARAM lParam=0)
 
HWND SetActiveWindow ()
 
HWND SetCapture ()
 
HWND SetClipboardViewer ()
 
int SetDlgCtrlID (int nID)
 
BOOL SetDlgItemInt (int nID, UINT nValue, BOOL bSigned=TRUE)
 
BOOL SetDlgItemText (int nID, LPCTSTR lpszString)
 
HWND SetFocus ()
 
void SetFont (HFONT hFont, BOOL bRedraw=TRUE)
 
int SetHotKey (WORD wVirtualKeyCode, WORD wModifiers)
 
HICON SetIcon (HICON hIcon, BOOL bBigIcon=TRUE)
 
BOOL SetMenu (HMENU hMenu)
 
HWND SetParent (HWND hWndNewParent)
 
void SetRedraw (BOOL bRedraw=TRUE)
 
int SetScrollInfo (int nBar, LPSCROLLINFO lpScrollInfo, BOOL bRedraw=TRUE)
 
int SetScrollPos (int nBar, int nPos, BOOL bRedraw=TRUE)
 
BOOL SetScrollRange (int nBar, int nMinPos, int nMaxPos, BOOL bRedraw=TRUE)
 
UINT_PTR SetTimer (UINT_PTR nIDEvent, UINT nElapse, void(CALLBACK *lpfnTimer)(HWND, UINT, UINT_PTR, DWORD)=NULL)
 
BOOL SetWindowContextHelpId (DWORD dwContextHelpId)
 
LONG SetWindowLong (int nIndex, LONG dwNewLong)
 
LONG_PTR SetWindowLongPtr (int nIndex, LONG_PTR dwNewLong)
 
BOOL SetWindowPlacement (const WINDOWPLACEMENT *lpwndpl)
 
BOOL SetWindowPos (HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
 
int SetWindowRgn (HRGN hRgn, BOOL bRedraw=FALSE)
 
BOOL SetWindowText (LPCTSTR lpszString)
 
WORD SetWindowWord (int nIndex, WORD wNewWord)
 
BOOL ShowCaret ()
 
BOOL ShowOwnedPopups (BOOL bShow=TRUE)
 
BOOL ShowScrollBar (UINT nBar, BOOL bShow=TRUE)
 
BOOL ShowWindow (int nCmdShow)
 
BOOL ShowWindowAsync (int nCmdShow)
 
BOOL UpdateWindow ()
 
BOOL ValidateRect (LPCRECT lpRect)
 
BOOL ValidateRgn (HRGN hRgn)
 
BOOL WinHelp (LPCTSTR lpszHelp, UINT nCmd=HELP_CONTEXT, DWORD dwData=0)
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
HRESULT GetBandInfo ([in] DWORD dwBandID, [in] DWORD dwViewMode, [in, out] DESKBANDINFO *pdbi)
 
- Public Member Functions inherited from IDockingWindow
HRESULT ShowDW ([in] BOOL fShow)
 
HRESULT CloseDW ([in] DWORD dwReserved)
 
HRESULT ResizeBorderDW ([in] LPCRECT prcBorder, [in] IUnknown *punkToolbarSite, [in] BOOL fReserved)
 
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from IObjectWithSite
HRESULT SetSite ([in] IUnknown *pUnkSite)
 
HRESULT GetSite ([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
 
HRESULT IsDirty ()
 
HRESULT Load ([in, unique] IStream *pStm)
 
HRESULT Save ([in, unique] IStream *pStm, [in] BOOL fClearDirty)
 
HRESULT GetSizeMax ([out] ULARGE_INTEGER *pcbSize)
 
HRESULT GetClassID ([out] CLSID *pClassID)
 
- Public Member Functions inherited from IDispatch
HRESULT GetTypeInfoCount ([out] UINT *pctinfo)
 
HRESULT GetTypeInfo ([in] UINT iTInfo, [in] LCID lcid, [out] ITypeInfo **ppTInfo)
 
HRESULT GetIDsOfNames ([in] REFIID riid, [in, size_is(cNames)] LPOLESTR *rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID *rgDispId)
 
HRESULT Invoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] WORD wFlags, [in, out] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *puArgErr)
 
HRESULT RemoteInvoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] DWORD dwFlags, [in] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *pArgErr, [in] UINT cVarRef, [in, size_is(cVarRef)] UINT *rgVarRefIdx, [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef)
 
- Public Member Functions inherited from ATL::CDialogImpl< CSearchBar >
HWND Create (HWND hWndParent, LPARAM dwInitParam=0)
 
INT_PTR DoModal (HWND hWndParent=::GetActiveWindow(), LPARAM dwInitParam=0)
 
BOOL EndDialog (_In_ int nRetCode)
 
BOOL DestroyWindow ()
 
- Public Member Functions inherited from ATL::CDialogImplBaseT< TBase >
virtual ~CDialogImplBaseT ()
 
virtual DLGPROC GetDialogProc ()
 
virtual void OnFinalMessage (HWND)
 
- Public Member Functions inherited from ATL::CWindowImplRoot< TBase >
 CWindowImplRoot ()
 
virtual ~CWindowImplRoot ()
 
- Public Member Functions inherited from ATL::CMessageMap
virtual BOOL ProcessWindowMessage (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult, DWORD dwMsgMapID)=0
 

Public Attributes

const INT m_Width
 
const INT m_Height
 
- Public Attributes inherited from ATL::CWindow
HWND m_hWnd
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 
- Public Attributes inherited from IDispatch
const DISPID DISPID_UNKNOWN = -1
 
const DISPID DISPID_VALUE = 0
 
const DISPID DISPID_PROPERTYPUT = -3
 
const DISPID DISPID_NEWENUM = -4
 
const DISPID DISPID_EVALUATE = -5
 
const DISPID DISPID_CONSTRUCTOR = -6
 
const DISPID DISPID_DESTRUCTOR = -7
 
const DISPID DISPID_COLLECT = -8
 
- Public Attributes inherited from ATL::CWindowImplRoot< TBase >
CWndProcThunk m_thunk
 
const _ATL_MSGm_pCurrentMsg
 
DWORD m_dwState
 

Private Member Functions

HRESULT GetSearchResultsFolder (IShellBrowser **ppShellBrowser, HWND *pHwnd, IShellFolder **ppShellFolder)
 
BOOL GetAddressEditBoxPath (WCHAR *szPath)
 
void SetSearchInProgress (BOOL bInProgress)
 
HRESULT TrySubscribeToSearchEvents ()
 
LRESULT OnInitDialog (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSetFocus (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSearchButtonClicked (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnStopButtonClicked (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
 
LRESULT OnSize (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 

Private Attributes

CComPtr< IUnknownm_pSite
 
CComPtr< IAddressEditBox > m_AddressEditBox
 
BOOL m_bVisible
 

Additional Inherited Members

- Static Public Member Functions inherited from ATL::CWindow
static LPCTSTR GetWndClassName ()
 
static LRESULT SendMessage (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 
- Static Public Member Functions inherited from ATL::CComCoClass< CSearchBar, &CLSID_FileSearchBand >
static LPCTSTR WINAPI GetObjectDescription ()
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Static Public Member Functions inherited from ATL::CDialogImplBaseT< TBase >
static INT_PTR CALLBACK StartDialogProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
static INT_PTR CALLBACK DialogProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
- Static Public Attributes inherited from ATL::CWindow
static RECT rcDefault
 

Detailed Description

Definition at line 302 of file appview.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
IDD 

Definition at line 81 of file CSearchBar.h.

#define IDD_SEARCH_DLG
Definition: resource.h:164

Constructor & Destructor Documentation

◆ CSearchBar() [1/2]

CSearchBar::CSearchBar ( )

Definition at line 180 of file appview.cpp.

180 : m_Width(180), m_Height(22)
181{
182}
const INT m_Height
Definition: appview.h:306
const INT m_Width
Definition: appview.h:305

◆ CSearchBar() [2/2]

CSearchBar::CSearchBar ( )

◆ ~CSearchBar()

CSearchBar::~CSearchBar ( )
virtual

Definition at line 29 of file CSearchBar.cpp.

30{
31}

Member Function Documentation

◆ CloseDW()

HRESULT STDMETHODCALLTYPE CSearchBar::CloseDW ( DWORD  dwReserved)
override

Implements IDockingWindow.

Definition at line 322 of file CSearchBar.cpp.

323{
324 // We do nothing, we don't have anything to save yet
325 TRACE("CloseDW called\n");
326 return S_OK;
327}
#define S_OK
Definition: intsafe.h:52
#define TRACE(s)
Definition: solgame.cpp:4

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CSearchBar::ContextSensitiveHelp ( BOOL  fEnterMode)
override

Implements IOleWindow.

Definition at line 314 of file CSearchBar.cpp.

315{
317 return E_NOTIMPL;
318}
#define UNIMPLEMENTED
Definition: debug.h:115
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Create()

HWND CSearchBar::Create ( HWND  hwndParent)

Definition at line 191 of file appview.cpp.

192{
193 CStringW szBuf;
196 hwndParent, (HMENU)NULL, hInst, 0);
197
199 szBuf.LoadStringW(IDS_SEARCH_TEXT);
200 SetWindowTextW(szBuf);
201 return m_hWnd;
202}
#define IDS_SEARCH_TEXT
Definition: resource.h:93
HWND m_hWnd
Definition: atlwin.h:273
static HWND hwndParent
Definition: cryptui.c:300
#define NULL
Definition: types.h:112
HINSTANCE hInst
Definition: dxdiag.c:13
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
#define L(x)
Definition: ntvdm.h:50
#define WS_CHILD
Definition: pedump.c:617
#define ES_AUTOHSCROLL
Definition: pedump.c:672
#define WS_VISIBLE
Definition: pedump.c:620
#define ES_LEFT
Definition: pedump.c:664
UINT_PTR WPARAM
Definition: windef.h:207
HGDIOBJ WINAPI GetStockObject(_In_ int)
#define DEFAULT_GUI_FONT
Definition: wingdi.h:909
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
#define WM_SETFONT
Definition: winuser.h:1650
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by CApplicationView::CreateSearchBar().

◆ GetAddressEditBoxPath()

BOOL CSearchBar::GetAddressEditBoxPath ( WCHAR szPath)
private

Definition at line 248 of file CSearchBar.cpp.

249{
250 HWND hComboboxEx = GetDlgItem(IDC_SEARCH_COMBOBOX);
251 ::GetWindowTextW(hComboboxEx, szPath, MAX_PATH);
252 INT iSelectedIndex = SendMessageW(hComboboxEx, CB_GETCURSEL, 0, 0);
253 if (iSelectedIndex != CB_ERR)
254 {
255 WCHAR szItemText[MAX_PATH];
256 COMBOBOXEXITEMW item = {0};
258 item.iItem = iSelectedIndex;
259 item.pszText = szItemText;
260 item.cchTextMax = _countof(szItemText);
261 SendMessageW(hComboboxEx, CBEM_GETITEMW, 0, (LPARAM)&item);
262
263 if (!wcscmp(szItemText, szPath) && SHGetPathFromIDListW((LPCITEMIDLIST)item.lParam, szItemText))
264 {
265 StringCbCopyW(szPath, MAX_PATH * sizeof(WCHAR), szItemText);
266 return TRUE;
267 }
268 }
269
273}
HWND GetDlgItem(_In_ int nID) const
Definition: atlwin.h:605
#define TRUE
Definition: types.h:120
#define IDC_SEARCH_COMBOBOX
Definition: resource.h:170
#define MAX_PATH
Definition: compat.h:34
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
Definition: fileinfo.c:652
unsigned long DWORD
Definition: ntddk_ex.h:95
LPCWSTR szPath
Definition: env.c:37
static ATOM item
Definition: dde.c:856
#define FILE_ATTRIBUTE_DIRECTORY
Definition: nt_native.h:705
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
Definition: pidl.c:1353
#define CBEM_GETITEMW
Definition: commctrl.h:3843
#define CBEIF_TEXT
Definition: commctrl.h:3786
#define CBEIF_LPARAM
Definition: commctrl.h:3791
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
#define _countof(array)
Definition: sndvol32.h:68
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:166
int32_t INT
Definition: typedefs.h:58
DWORD dwAttributes
Definition: vdmdbg.h:34
#define INVALID_FILE_ATTRIBUTES
Definition: vfdcmd.c:23
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
Definition: window.c:1412
LONG_PTR LPARAM
Definition: windef.h:208
#define CB_ERR
Definition: winuser.h:2435
#define CB_GETCURSEL
Definition: winuser.h:1943
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by OnSearchButtonClicked().

◆ GetBandInfo()

HRESULT STDMETHODCALLTYPE CSearchBar::GetBandInfo ( DWORD  dwBandID,
DWORD  dwViewMode,
DESKBANDINFO pdbi 
)
override

Implements IDeskBand.

Definition at line 344 of file CSearchBar.cpp.

345{
346 if (!pdbi)
347 {
348 return E_INVALIDARG;
349 }
350
351 if (pdbi->dwMask & DBIM_MINSIZE)
352 {
353 pdbi->ptMinSize.x = 200;
354 pdbi->ptMinSize.y = 30;
355 }
356
357 if (pdbi->dwMask & DBIM_MAXSIZE)
358 {
359 pdbi->ptMaxSize.y = -1;
360 }
361
362 if (pdbi->dwMask & DBIM_INTEGRAL)
363 {
364 pdbi->ptIntegral.y = 1;
365 }
366
367 if (pdbi->dwMask & DBIM_ACTUAL)
368 {
369 pdbi->ptActual.x = 200;
370 pdbi->ptActual.y = 30;
371 }
372
373 if (pdbi->dwMask & DBIM_TITLE)
374 {
375 if (!LoadStringW(_AtlBaseModule.GetResourceInstance(), IDS_SEARCHLABEL, pdbi->wszTitle, _countof(pdbi->wszTitle)))
377 }
378
379 if (pdbi->dwMask & DBIM_MODEFLAGS)
380 {
381 pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_VARIABLEHEIGHT;
382 }
383
384 if (pdbi->dwMask & DBIM_BKCOLOR)
385 {
386 pdbi->dwMask &= ~DBIM_BKCOLOR;
387 }
388 return S_OK;
389}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define IDS_SEARCHLABEL
Definition: resource.h:124
LONG y
Definition: windef.h:330
LONG x
Definition: windef.h:329
WCHAR wszTitle[256]
Definition: shobjidl.idl:2422
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CSearchBar::GetClassID ( CLSID pClassID)
override

Implements IPersist.

Definition at line 478 of file CSearchBar.cpp.

479{
480 if (!pClassID)
481 return E_POINTER;
482 *pClassID = CLSID_FileSearchBand;
483 return S_OK;
484}
#define E_POINTER
Definition: winerror.h:2365

◆ GetIDsOfNames()

HRESULT STDMETHODCALLTYPE CSearchBar::GetIDsOfNames ( REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
override

Implements IDispatch.

Definition at line 527 of file CSearchBar.cpp.

528{
530 return E_NOTIMPL;
531}

◆ GetSearchResultsFolder()

HRESULT CSearchBar::GetSearchResultsFolder ( IShellBrowser **  ppShellBrowser,
HWND pHwnd,
IShellFolder **  ppShellFolder 
)
private

Definition at line 111 of file CSearchBar.cpp.

112{
113 HRESULT hr;
114 CComPtr<IShellBrowser> pShellBrowser;
115 if (!ppShellBrowser)
116 ppShellBrowser = &pShellBrowser;
117 if (!*ppShellBrowser)
118 {
121 return hr;
122 }
123
124 CComPtr<IShellView> pShellView;
125 hr = (*ppShellBrowser)->QueryActiveShellView(&pShellView);
126 if (FAILED(hr) || !pShellView)
127 return hr;
128
129 CComPtr<IFolderView> pFolderView;
130 hr = pShellView->QueryInterface(IID_PPV_ARG(IFolderView, &pFolderView));
131 if (FAILED(hr) || !pFolderView)
132 return hr;
133
134 CComPtr<IShellFolder> pShellFolder;
135 if (!ppShellFolder)
136 ppShellFolder = &pShellFolder;
137 hr = pFolderView->GetFolder(IID_PPV_ARG(IShellFolder, ppShellFolder));
138 if (FAILED(hr) || !pShellFolder)
139 return hr;
140
141 CLSID clsid;
142 hr = IUnknown_GetClassID(*ppShellFolder, &clsid);
143 if (FAILED(hr))
144 return hr;
145 if (clsid != CLSID_FindFolder)
146 return E_FAIL;
147
148 if (pHwnd)
149 {
150 hr = pShellView->GetWindow(pHwnd);
152 return hr;
153 }
154
155 return S_OK;
156}
CComPtr< IUnknown > m_pSite
Definition: CSearchBar.h:25
#define E_FAIL
Definition: ddrawi.h:102
#define FAILED_UNEXPECTEDLY(hr)
Definition: precomp.h:121
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
Definition: ordinal.c:1497
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
Definition: ordinal.c:1453
#define FAILED(hr)
Definition: intsafe.h:51
REFCLSID clsid
Definition: msctf.c:82
HRESULT hr
Definition: shlfolder.c:183
#define SID_SShellBrowser
Definition: shlguid.h:128
#define IID_PPV_ARG(Itype, ppType)

Referenced by OnSearchButtonClicked(), OnStopButtonClicked(), and TrySubscribeToSearchEvents().

◆ GetSite()

HRESULT STDMETHODCALLTYPE CSearchBar::GetSite ( REFIID  riid,
void **  ppvSite 
)
override

Definition at line 431 of file CSearchBar.cpp.

432{
433 if (!ppvSite)
434 return E_POINTER;
435 *ppvSite = m_pSite;
436 return S_OK;
437}

◆ GetSizeMax()

HRESULT STDMETHODCALLTYPE CSearchBar::GetSizeMax ( ULARGE_INTEGER pcbSize)
override

Implements IPersistStream.

Definition at line 506 of file CSearchBar.cpp.

507{
508 // TODO: calculate max size
510 return E_NOTIMPL;
511}

◆ GetTypeInfo()

HRESULT STDMETHODCALLTYPE CSearchBar::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
override

Implements IDispatch.

Definition at line 521 of file CSearchBar.cpp.

522{
524 return E_NOTIMPL;
525}

◆ GetTypeInfoCount()

HRESULT STDMETHODCALLTYPE CSearchBar::GetTypeInfoCount ( UINT pctinfo)
override

Implements IDispatch.

Definition at line 515 of file CSearchBar.cpp.

516{
518 return E_NOTIMPL;
519}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CSearchBar::GetWindow ( HWND lphwnd)
override

Implements IOleWindow.

Definition at line 306 of file CSearchBar.cpp.

307{
308 if (!lphwnd)
309 return E_INVALIDARG;
310 *lphwnd = m_hWnd;
311 return S_OK;
312}

◆ HasFocusIO()

HRESULT STDMETHODCALLTYPE CSearchBar::HasFocusIO ( )
override

Definition at line 457 of file CSearchBar.cpp.

458{
459 return S_OK;
460}

◆ Invoke()

HRESULT STDMETHODCALLTYPE CSearchBar::Invoke ( DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
override

Implements IDispatch.

Definition at line 557 of file CSearchBar.cpp.

558{
559 switch (dispIdMember)
560 {
563 {
565
566 // Remove the search results folder from the address box
567 CComPtr<IDispatch> pDispatch;
568 HRESULT hResult = m_AddressEditBox->QueryInterface(IID_PPV_ARG(IDispatch, &pDispatch));
569 if (FAILED_UNEXPECTEDLY(hResult))
570 return hResult;
571 pDispatch->Invoke(dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
572 CComPtr<IShellService> pShellService;
573 hResult = m_AddressEditBox->QueryInterface(IID_PPV_ARG(IShellService, &pShellService));
574 if (FAILED_UNEXPECTEDLY(hResult))
575 return hResult;
576 hResult = pShellService->SetOwner(NULL);
577 if (FAILED_UNEXPECTEDLY(hResult))
578 return hResult;
579 HWND hComboboxEx = GetDlgItem(IDC_SEARCH_COMBOBOX);
580 int index = SendMessageW(hComboboxEx, CB_GETCOUNT, 0, 0);
581 if (index <= 0)
582 return S_OK;
583 COMBOBOXEXITEMW item = {0};
584 item.mask = CBEIF_LPARAM;
585 item.iItem = index - 1;
586 SendMessageW(hComboboxEx, CBEM_GETITEMW, 0, (LPARAM)&item);
587 if (!item.lParam)
588 return S_OK;
589 CComPtr<IShellFolder> pDesktopFolder;
590 hResult = SHGetDesktopFolder(&pDesktopFolder);
591 if (FAILED_UNEXPECTEDLY(hResult))
592 return hResult;
593 CComPtr<IShellFolder> pShellFolder;
594 hResult = pDesktopFolder->BindToObject((LPCITEMIDLIST)item.lParam, NULL, IID_PPV_ARG(IShellFolder, &pShellFolder));
595 if (FAILED(hResult))
596 return S_OK;
597 CLSID clsid;
598 hResult = IUnknown_GetClassID(pShellFolder, &clsid);
599 if (SUCCEEDED(hResult) && clsid == CLSID_FindFolder)
600 {
601 SendMessageW(hComboboxEx, CBEM_DELETEITEM, item.iItem, 0);
602 SendMessageW(hComboboxEx, CB_SETCURSEL, 0, 0);
603 }
604 return S_OK;
605 }
609 return S_OK;
610 default:
611 return E_INVALIDARG;
612 }
613}
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
HRESULT TrySubscribeToSearchEvents()
Definition: CSearchBar.cpp:542
void SetSearchInProgress(BOOL bInProgress)
Definition: CSearchBar.cpp:533
CComPtr< IAddressEditBox > m_AddressEditBox
Definition: CSearchBar.h:26
#define FALSE
Definition: types.h:117
#define DISPID_SEARCHABORT
Definition: exdispid.h:174
#define DISPID_SEARCHCOMPLETE
Definition: exdispid.h:173
GLuint index
Definition: glext.h:6031
REFIID riid
Definition: atlbase.h:39
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define CBEM_DELETEITEM
Definition: commctrl.h:3831
#define DISPID_NAVIGATECOMPLETE2
Definition: webchild.h:54
#define DISPID_DOCUMENTCOMPLETE
Definition: webchild.h:61
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
#define CB_SETCURSEL
Definition: winuser.h:1961
#define CB_GETCOUNT
Definition: winuser.h:1942

Referenced by OnInitDialog().

◆ IsDirty()

HRESULT STDMETHODCALLTYPE CSearchBar::IsDirty ( void  )
override

Implements IPersistStream.

Definition at line 488 of file CSearchBar.cpp.

489{
491 return E_NOTIMPL;
492}

◆ Load()

HRESULT STDMETHODCALLTYPE CSearchBar::Load ( IStream pStm)
override

Implements IPersistStream.

Definition at line 494 of file CSearchBar.cpp.

495{
497 return E_NOTIMPL;
498}

◆ OnInitDialog()

LRESULT CSearchBar::OnInitDialog ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)
private

Definition at line 33 of file CSearchBar.cpp.

34{
35 HKEY hkey;
36 DWORD dwType;
37 DWORD size = sizeof(DWORD);
39 DWORD SearchHiddenValue = 0;
40
41 result = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer", 0, KEY_QUERY_VALUE, &hkey);
42 if (result == ERROR_SUCCESS)
43 {
44 if (RegQueryValueEx(hkey, L"SearchHidden", NULL, &dwType, (LPBYTE)&SearchHiddenValue, &size) == ERROR_SUCCESS)
45 {
46 if ((dwType != REG_DWORD) || (size != sizeof(DWORD)))
47 {
48 ERR("RegQueryKey for \"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\SearchHidden\" returned error(s).\n");
49 SearchHiddenValue = 1;
50 }
51 else
52 {
53 TRACE("SearchHidden is '%d'.\n", SearchHiddenValue);
54 }
55 }
56 else
57 {
58 ERR("RegQueryKey for \"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\SearchHidden\" Failed.\n");
59 }
60 RegCloseKey(hkey);
61 }
62 else
63 ERR("RegOpenKey for \"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\" Failed.\n");
64
65 if (SearchHiddenValue != 0)
67 else
69
71
73 CComPtr<IImageList> pImageList;
74 HRESULT hResult = SHGetImageList(SHIL_SMALL, IID_PPV_ARG(IImageList, &pImageList));
75 SendMessage(hCombobox, CBEM_SETIMAGELIST, 0, FAILED_UNEXPECTEDLY(hResult) ? 0 : reinterpret_cast<LPARAM>(pImageList.p));
76
79 HWND hEditControl = reinterpret_cast<HWND>(SendMessage(hCombobox, CBEM_GETEDITCONTROL, 0, 0));
81 if (FAILED_UNEXPECTEDLY(hResult))
82 return FALSE;
83
84 hResult = m_AddressEditBox->Init(hCombobox, hEditControl, 0, m_pSite);
85 if (FAILED_UNEXPECTEDLY(hResult))
86 return FALSE;
87
88 // Subscribe to navigation events
89 CComPtr<IShellBrowser> pShellBrowser;
91 DWORD dwAdviseCookie;
92 if (SUCCEEDED(hResult))
93 AtlAdvise(pShellBrowser, static_cast<IDispatch *>(this), DIID_DWebBrowserEvents, &dwAdviseCookie);
94
95 // Invoke the navigate event in case a search results folder is already open
96 DISPPARAMS params = {0};
98
99 return TRUE;
100}
#define ERR(fmt,...)
Definition: debug.h:110
#define RegCloseKey(hKey)
Definition: registry.h:49
HRESULT CAddressEditBox_CreateInstance(REFIID riid, void **ppv)
Definition: browseui.cpp:33
BOOL CheckDlgButton(int nIDButton, UINT nCheck)
Definition: atlwin.h:369
STDMETHOD() Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
Definition: CSearchBar.cpp:557
#define ERROR_SUCCESS
Definition: deptool.c:10
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
Definition: atl.c:45
#define IDC_SEARCH_HIDDEN
Definition: resource.h:171
GLsizeiptr size
Definition: glext.h:5919
GLenum const GLfloat * params
Definition: glext.h:5645
GLuint64EXT * result
Definition: glext.h:11304
#define GUID_NULL
Definition: ks.h:106
struct stdole::DISPPARAMS DISPPARAMS
#define KEY_QUERY_VALUE
Definition: nt_native.h:1016
#define DWORD
Definition: nt_native.h:44
#define DISPATCH_METHOD
Definition: oleauto.h:1006
#define CBEM_SETEXTENDEDSTYLE
Definition: commctrl.h:3835
#define CBEM_SETIMAGELIST
Definition: commctrl.h:3827
#define CBES_EX_NOSIZELIMIT
Definition: commctrl.h:3854
#define CBES_EX_CASESENSITIVE
Definition: commctrl.h:3855
#define CBEM_GETEDITCONTROL
Definition: commctrl.h:3833
#define REG_DWORD
Definition: sdbapi.c:596
#define SHIL_SMALL
Definition: shellapi.h:185
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
Definition: shellord.c:2452
unsigned char * LPBYTE
Definition: typedefs.h:53
#define HKEY_CURRENT_USER
Definition: winreg.h:11
#define RegOpenKeyEx
Definition: winreg.h:520
#define RegQueryValueEx
Definition: winreg.h:524
#define BST_UNCHECKED
Definition: winuser.h:199
#define SendMessage
Definition: winuser.h:5843
#define BST_CHECKED
Definition: winuser.h:197

◆ OnSearchButtonClicked()

LRESULT CSearchBar::OnSearchButtonClicked ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)
private

Definition at line 158 of file CSearchBar.cpp.

159{
160 size_t len = 0;
161 WCHAR endchar;
162 WCHAR startchar;
163
164 CComHeapPtr<SearchStart> pSearchStart(static_cast<SearchStart *>(CoTaskMemAlloc(sizeof(SearchStart))));
165 GetDlgItemText(IDC_SEARCH_FILENAME, pSearchStart->szFileName, _countof(pSearchStart->szFileName));
166 GetDlgItemText(IDC_SEARCH_QUERY, pSearchStart->szQuery, _countof(pSearchStart->szQuery));
167
168 pSearchStart->SearchHidden = IsDlgButtonChecked(IDC_SEARCH_HIDDEN);
169
170 if (!GetAddressEditBoxPath(pSearchStart->szPath))
171 {
172 ShellMessageBoxW(_AtlBaseModule.GetResourceInstance(), m_hWnd, MAKEINTRESOURCEW(IDS_SEARCHINVALID), MAKEINTRESOURCEW(IDS_SEARCHLABEL), MB_OK | MB_ICONERROR, pSearchStart->szPath);
173 return 0;
174 }
175
176 // See if we have an szFileName by testing for its entry lenth > 0 and our searched FileName does not contain
177 // an asterisk or a question mark. If so, then prepend and append an asterisk to the searched FileName.
178 // (i.e. it's equivalent to searching for *<the_file_name>* )
179 if (FAILED (StringCchLengthW (pSearchStart->szFileName, MAX_PATH, &len))) return 0;
180 if ((len > 0) && !wcspbrk(pSearchStart->szFileName, L"*?"))
181 {
182 endchar = pSearchStart->szFileName[len - 1];
183 startchar = pSearchStart->szFileName[0];
184 if ((len < MAX_PATH - 1) && (startchar != L'*'))
185 {
186 memmove(&pSearchStart->szFileName[1], &pSearchStart->szFileName[0],
187 len * sizeof(WCHAR) + sizeof(WCHAR));
188 len = len + 1;
189 pSearchStart->szFileName[0] = L'*';
190 }
191
192 // See if our last character is an asterisk and if not and we have room then add one
193 if ((len < MAX_PATH - 1) && (endchar != L'*'))
194 StringCchCatW(pSearchStart->szFileName, MAX_PATH, L"*");
195 }
196
197 // Print our final search string for szFileName
198 TRACE("Searched szFileName is '%S'.\n", pSearchStart->szFileName);
199
200 CComPtr<IShellBrowser> pShellBrowser;
203 return 0;
204
205 HWND hwnd;
206 if (FAILED(GetSearchResultsFolder(&pShellBrowser, &hwnd, NULL)))
207 {
208 // Open a new search results folder
209 WCHAR szShellGuid[MAX_PATH];
210 const WCHAR shellGuidPrefix[] = L"shell:::";
211 memcpy(szShellGuid, shellGuidPrefix, sizeof(shellGuidPrefix));
212 hr = StringFromGUID2(CLSID_FindFolder, szShellGuid + _countof(shellGuidPrefix) - 1,
213 _countof(szShellGuid) - _countof(shellGuidPrefix));
215 return 0;
216
217 CComHeapPtr<ITEMIDLIST> findFolderPidl;
218 hr = SHParseDisplayName(szShellGuid, NULL, &findFolderPidl, 0, NULL);
220 return 0;
221
222 hr = pShellBrowser->BrowseObject(findFolderPidl, 0);
224 return 0;
225
226 hr = GetSearchResultsFolder(&pShellBrowser, &hwnd, NULL);
228 return 0;
229 }
230
231 ::PostMessageW(hwnd, WM_SEARCH_START, 0, (LPARAM) pSearchStart.Detach());
232
234
235 return 0;
236}
UINT IsDlgButtonChecked(int nIDButton) const
Definition: atlwin.h:926
HRESULT GetSearchResultsFolder(IShellBrowser **ppShellBrowser, HWND *pHwnd, IShellFolder **ppShellFolder)
Definition: CSearchBar.cpp:111
BOOL GetAddressEditBoxPath(WCHAR *szPath)
Definition: CSearchBar.cpp:248
#define IDS_SEARCHINVALID
Definition: resource.h:172
#define IDC_SEARCH_FILENAME
Definition: resource.h:166
#define IDC_SEARCH_QUERY
Definition: resource.h:167
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
#define ShellMessageBoxW
Definition: precomp.h:59
GLenum GLsizei len
Definition: glext.h:6722
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define memmove(s1, s2, n)
Definition: mkisofs.h:881
HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc, LPITEMIDLIST *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut)
Definition: pidl.c:1405
_Check_return_ _CRTIMP _CONST_RETURN wchar_t *__cdecl wcspbrk(_In_z_ const wchar_t *_Str, _In_z_ const wchar_t *_Control)
#define WM_SEARCH_START
Definition: shellfind.h:29
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
Definition: strsafe.h:325
STRSAFEAPI StringCchLengthW(STRSAFE_LPCWSTR psz, size_t cchMax, size_t *pcchLength)
Definition: strsafe.h:842
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define GetDlgItemText
Definition: winuser.h:5785
#define MB_ICONERROR
Definition: winuser.h:787
#define MB_OK
Definition: winuser.h:790
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582

◆ OnSetFocus()

LRESULT CSearchBar::OnSetFocus ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)
private

Definition at line 104 of file CSearchBar.cpp.

105{
106 IUnknown_OnFocusChangeIS(m_pSite, static_cast<IDeskBand *>(this), TRUE);
107 bHandled = FALSE;
108 return TRUE;
109}
HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus)
Definition: ordinal.c:4767

◆ OnSize()

LRESULT CSearchBar::OnSize ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)
private

Definition at line 275 of file CSearchBar.cpp.

276{
277 INT iWidth = LOWORD(lParam);
278 INT iPadding = 10;
279
281
283 HDWP hdwp = BeginDeferWindowPos(_countof(inputs));
284 for (SIZE_T i = 0; i < _countof(inputs); i++)
285 {
286 CWindow wnd = (CWindow) GetDlgItem(inputs[i]);
287 RECT rect;
288 wnd.GetWindowRect(&rect);
289 POINT pt = { rect.left, rect.top };
291 hdwp = wnd.DeferWindowPos(hdwp,
292 HWND_TOP,
293 iPadding,
294 pt.y,
295 iWidth - iPadding * 2,
296 rect.bottom - rect.top,
298 }
299 EndDeferWindowPos(hdwp);
300
301 return 0;
302}
BOOL SetWindowPos(HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags)
Definition: atlwin.h:1288
BOOL ScreenToClient(LPPOINT lpPoint) const
Definition: atlwin.h:1092
HDWP DeferWindowPos(HDWP hWinPosInfo, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags)
Definition: atlwin.h:456
BOOL GetWindowRect(LPRECT lpRect) const
Definition: atlwin.h:816
LPARAM lParam
Definition: combotst.c:139
#define IDC_SEARCH_BUTTON
Definition: resource.h:168
#define IDC_SEARCH_LABEL
Definition: resource.h:165
#define IDC_SEARCH_STOP_BUTTON
Definition: resource.h:169
#define IDC_PROGRESS_BAR
Definition: resource.h:138
#define pt(x, y)
Definition: drawing.c:79
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define LOWORD(l)
Definition: pedump.c:82
& rect
Definition: startmenu.cpp:1413
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define SWP_NOACTIVATE
Definition: winuser.h:1242
#define SWP_NOMOVE
Definition: winuser.h:1244
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
#define HWND_TOP
Definition: winuser.h:1207
#define SWP_NOCOPYBITS
Definition: winuser.h:1243
#define SWP_NOOWNERZORDER
Definition: winuser.h:1249
#define SWP_NOZORDER
Definition: winuser.h:1247
HDWP WINAPI BeginDeferWindowPos(_In_ int)

◆ OnStopButtonClicked()

LRESULT CSearchBar::OnStopButtonClicked ( WORD  wNotifyCode,
WORD  wID,
HWND  hWndCtl,
BOOL bHandled 
)
private

Definition at line 238 of file CSearchBar.cpp.

239{
240 HWND hwnd;
242 if (SUCCEEDED(hr))
244
245 return 0;
246}
#define WM_SEARCH_STOP
Definition: shellfind.h:30

◆ ResizeBorderDW()

HRESULT STDMETHODCALLTYPE CSearchBar::ResizeBorderDW ( const RECT prcBorder,
IUnknown punkToolbarSite,
BOOL  fReserved 
)
override

Definition at line 329 of file CSearchBar.cpp.

330{
331 /* Must return E_NOTIMPL according to MSDN */
332 return E_NOTIMPL;
333}

◆ Save()

HRESULT STDMETHODCALLTYPE CSearchBar::Save ( IStream pStm,
BOOL  fClearDirty 
)
override

Implements IPersistStream.

Definition at line 500 of file CSearchBar.cpp.

501{
503 return E_NOTIMPL;
504}

◆ SetSearchInProgress()

void CSearchBar::SetSearchInProgress ( BOOL  bInProgress)
private

Definition at line 533 of file CSearchBar.cpp.

534{
537 HWND hProgressBar = GetDlgItem(IDC_PROGRESS_BAR);
538 ::ShowWindow(hProgressBar, bInProgress ? SW_SHOW : SW_HIDE);
539 ::PostMessage(hProgressBar, PBM_SETMARQUEE, bInProgress, 0);
540}
BOOL ShowWindow(int nCmdShow)
Definition: atlwin.h:1333
#define PBM_SETMARQUEE
Definition: commctrl.h:2199
#define SW_HIDE
Definition: winuser.h:768
#define PostMessage
Definition: winuser.h:5832
#define SW_SHOW
Definition: winuser.h:775

Referenced by Invoke(), OnInitDialog(), and OnSearchButtonClicked().

◆ SetSite()

HRESULT STDMETHODCALLTYPE CSearchBar::SetSite ( IUnknown pUnkSite)
override

Implements IObjectWithSite.

Definition at line 393 of file CSearchBar.cpp.

394{
395 HRESULT hr;
396 HWND parentWnd;
397
398 if (pUnkSite == m_pSite)
399 return S_OK;
400
401 TRACE("SetSite called \n");
402 if (!pUnkSite)
403 {
405 m_hWnd = NULL;
406 return S_OK;
407 }
408
409 hr = IUnknown_GetWindow(pUnkSite, &parentWnd);
410 if (!SUCCEEDED(hr))
411 {
412 ERR("Could not get parent's window ! Status: %08lx\n", hr);
413 return E_INVALIDARG;
414 }
415
416 m_pSite = pUnkSite;
417
418 if (m_hWnd)
419 {
420 // Change its parent
421 SetParent(parentWnd);
422 }
423 else
424 {
425 CDialogImpl::Create(parentWnd);
426
427 }
428 return S_OK;
429}
HWND Create(HWND hWndParent, LPARAM dwInitParam=0)
Definition: atlwin.h:1487
HWND SetParent(HWND hWndNewParent)
Definition: atlwin.h:1228
BOOL DestroyWindow()
Definition: atlwin.h:462
HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd)
Definition: ordinal.c:1332

◆ SetText()

VOID CSearchBar::SetText ( LPCWSTR  lpszText)

Definition at line 185 of file appview.cpp.

186{
188}
#define SBT_NOBORDERS
Definition: commctrl.h:1971
#define SB_SETTEXT
Definition: commctrl.h:1949

◆ ShowDW()

HRESULT STDMETHODCALLTYPE CSearchBar::ShowDW ( BOOL  fShow)
override

Implements IDockingWindow.

Definition at line 335 of file CSearchBar.cpp.

336{
337 m_bVisible = fShow;
338 ShowWindow(fShow);
339 return S_OK;
340}
BOOL m_bVisible
Definition: CSearchBar.h:27

◆ TranslateAcceleratorIO()

HRESULT STDMETHODCALLTYPE CSearchBar::TranslateAcceleratorIO ( LPMSG  lpMsg)
override

Definition at line 462 of file CSearchBar.cpp.

463{
464 if (IsDialogMessage(lpMsg))
465 return S_OK;
466
467 if ((lpMsg->hwnd == m_hWnd || IsChild(lpMsg->hwnd)))
468 {
469 TranslateMessage(lpMsg);
470 DispatchMessage(lpMsg);
471 return S_OK;
472 }
473
474 return S_FALSE;
475}
BOOL IsChild(const HWND hWnd) const
Definition: atlwin.h:914
HWND hwnd
Definition: winuser.h:3114
#define S_FALSE
Definition: winerror.h:2357
BOOL WINAPI TranslateMessage(_In_ const MSG *)
#define IsDialogMessage
Definition: winuser.h:5809
#define DispatchMessage
Definition: winuser.h:5765

◆ TrySubscribeToSearchEvents()

HRESULT CSearchBar::TrySubscribeToSearchEvents ( )
private

Definition at line 542 of file CSearchBar.cpp.

543{
544 CComPtr<IShellFolder> pShellFolder;
545 HRESULT hr = GetSearchResultsFolder(NULL, NULL, &pShellFolder);
546 if (FAILED(hr))
547 return hr;
548
549 DWORD fAdviseCookie;
550 hr = AtlAdvise(pShellFolder, static_cast<IDispatch *>(this), DIID_DSearchCommandEvents, &fAdviseCookie);
552 return hr;
553
554 return S_OK;
555}

Referenced by Invoke().

◆ UIActivateIO()

HRESULT STDMETHODCALLTYPE CSearchBar::UIActivateIO ( BOOL  fActivate,
LPMSG  lpMsg 
)
override

Definition at line 441 of file CSearchBar.cpp.

442{
443 if (fActivate)
444 {
445 //SetFocus();
447 }
448 // TODO: handle message
449 if(lpMsg)
450 {
451 TranslateMessage(lpMsg);
452 DispatchMessage(lpMsg);
453 }
454 return S_OK;
455}
HWND SetActiveWindow()
Definition: atlwin.h:1162

Member Data Documentation

◆ m_AddressEditBox

CComPtr<IAddressEditBox> CSearchBar::m_AddressEditBox
private

Definition at line 26 of file CSearchBar.h.

Referenced by Invoke(), and OnInitDialog().

◆ m_bVisible

BOOL CSearchBar::m_bVisible
private

Definition at line 27 of file CSearchBar.h.

Referenced by ShowDW().

◆ m_Height

const INT CSearchBar::m_Height

Definition at line 306 of file appview.h.

Referenced by Create().

◆ m_pSite

CComPtr<IUnknown> CSearchBar::m_pSite
private

◆ m_Width

const INT CSearchBar::m_Width

Definition at line 305 of file appview.h.

Referenced by Create(), and CApplicationView::OnSize().


The documentation for this class was generated from the following files: