40template<
typename EDT = CEdit,
typename CMB = CComboBox>
69 loop ( i, _super::GetCount() )
71 _super::GetLBText(i, s);
86 _super::GetWindowText(s);
100 _super::GetWindowText(s);
101 _super::ResetContent();
104 _super::AddString(vs[i]);
107 _super::SetWindowText(s);
117 _super::ResetContent();
122 _super::AddString(vs[i + 1]);
125 _super::SetWindowText(vs[0]);
136 _super::GetWindowText(s);
139 int i = _super::FindStringExact(0, s);
142 _super::DeleteString(i);
144 _super::InsertString(0, s);
146 _super::SetWindowText(s);
171 DWORD s = GetStyle();
172 ASSERT0( (s & CBS_DROPDOWN) != 0,
"CHistoryComboEditT",
"ドロップダウンになっていません。" );
173 ASSERT0( (s & CBS_SORT) == 0,
"CHistoryComboEditT",
"ソート属性がついてしまっています。" );
174 _super::PreSubclassWindow();
186 virtual LRESULT
WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
191 if ( m_edit.GetSafeHwnd() != NULL )
193 m_edit.UnsubclassWindow();
196 case WM_CTLCOLOREDIT:
197 if ( m_edit.GetSafeHwnd() == NULL )
199 m_edit.SubclassWindow(
reinterpret_cast<HWND
>(lParam));
203 return _super::WindowProc(message, wParam, lParam);
208 void m_CheckDepth(
void)
212 while ( _super::GetCount() > m_depth )
214 _super::DeleteString(_super::GetCount() - 1);
#define loop(VAR, CNT)
loop構文.
virtual size_t GetSize(void) const
[取得] サイズ取得
virtual INDEX Add(const TYP &t)
[追加] 要素一つ追加.
CStrVector GetHistoryStrings(void) const
[取得] 全履歴文字列取得.
void SetHistoryStrings(const CStrVector &vs)
[設定] 全履歴文字列設定.
void SetHistoryDepth(int depth)
[設定] 履歴数設定.
EDT & ReferEdit(void)
[参照] Editコントロール参照.
virtual void PreSubclassWindow(void)
[通知] subclassing/unsubclassing functions.
const EDT & ReferEdit(void) const
[参照] Editコントロール参照.
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
[通知] for processing Windows messages.
CHistoryComboEditT(void)
コンストラクタ
CStrVector GetAllStrings(void) const
[取得] 全文字列取得.
void SetAllStrings(const CStrVector &vs)
[設定] 全文字列設定.
TNB::CStrT< TCHAR > CStr
文字列クラス
CHistoryComboEditT CHistoryComboEdit
履歴付き EDITコントロール