1 #pragma once 2 #include "afxdialogex.h" 3 #include "SearchEditCtrl.h" 4 5 // CUiSearchBox 对话框 6 7 namespace UiElement 8 { 9 class SearchBox; 10 } 11 12 class CUiSearchBox : public CDialog 13 { 14 DECLARE_DYNAMIC(CUiSearchBox) 15 16 public: 17 CUiSearchBox(CWnd* pParent); // 标准构造函数 18 void Create(); 19 virtual ~CUiSearchBox(); 20 void Show(UiElement::SearchBox* ui_search_box, bool big_icon); //显示搜索框。ui_search_box:对应的UI中的搜索框 21 void Clear(); //清除搜索状态 22 void UpdatePos(); //当父窗口大小或位置变化时调用此函数以同步搜索框的位置(暂时未使用) 23 24 // 对话框数据 25 #ifdef AFX_DESIGN_TIME 26 enum { IDD = IDD_UI_SEARCH_BOX_DIALOG }; 27 #endif 28 29 protected: 30 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 31 32 DECLARE_MESSAGE_MAP() 33 public: 34 virtual BOOL OnInitDialog(); 35 afx_msg void OnSize(UINT nType, int cx, int cy); 36 CSearchEditCtrl m_search_box; 37 virtual void OnCancel(); 38 39 private: 40 UiElement::SearchBox* m_ui_search_box{}; 41 42 public: 43 afx_msg void OnEnKillfocusUiSearchBoxEdit(); 44 protected: 45 afx_msg LRESULT OnSearchEditBtnClicked(WPARAM wParam, LPARAM lParam); 46 public: 47 afx_msg void OnEnChangeUiSearchBoxEdit(); 48 }; 49