3 #include "DDXHelper.h"
\r
5 #undef GetDlgItemText
\r
6 #undef SetDlgItemText
\r
11 static void WildcardRemoveDuplicatePatterns(String& patterns);
\r
15 class DlgUtils : public StaticDlgUtils
\r
17 T *dlg() { return static_cast<T *>(this); }
\r
20 void EnableDlgItem(unsigned id, bool enabled)
\r
22 dlg()->GetDlgItem(id)->EnableWindow(enabled);
\r
25 void SetDlgItemFocus(unsigned id)
\r
27 dlg()->GetDlgItem(id)->SetFocus();
\r
30 unsigned GetDlgItemText(unsigned id, String& text)
\r
32 CString cstrText = text.c_str();
\r
33 unsigned uResult = dlg()->GetDlgItemTextW(id, cstrText);
\r
38 void SetDlgItemText(unsigned id, const String& text)
\r
40 dlg()->SetDlgItemTextW(id, text.c_str());
\r
43 void SetDlgItemComboBoxList(unsigned id, const std::initializer_list<String>& list)
\r
45 CComboBox * cbo = (CComboBox *)dlg()->GetDlgItem(id);
\r
48 for (const auto& item : list)
\r
49 cbo->AddString(item.c_str());
\r
52 String GetTitleText()
\r
55 dlg()->GetWindowText(title);
\r
56 return title.GetString();
\r
59 void SetTitleText(const String& text)
\r
61 dlg()->SetWindowText(text.c_str());
\r
65 class CTrDialog : public CDialog, public DlgUtils<CTrDialog>
\r
67 DECLARE_DYNAMIC(CTrDialog)
\r
69 using CDialog::CDialog;
\r
71 virtual BOOL OnInitDialog();
\r
74 class CTrPropertyPage : public CPropertyPage, public DlgUtils<CTrPropertyPage>
\r
76 DECLARE_DYNAMIC(CTrPropertyPage)
\r
78 using CPropertyPage::CPropertyPage;
\r
80 virtual BOOL OnInitDialog();
\r
83 class CTrDialogBar : public CDialogBar, public DlgUtils<CTrDialogBar>
\r
85 DECLARE_DYNAMIC(CTrDialogBar)
\r
87 virtual BOOL Create(CWnd* pParentWnd, LPCTSTR lpszTemplateName,
\r
88 UINT nStyle, UINT nID);
\r
89 virtual BOOL Create(CWnd* pParentWnd, UINT nIDTemplate,
\r
90 UINT nStyle, UINT nID);
\r