1. 新增MDI專案
2. 資源檢視 -> Dialog -> 加入資源 -> 資料類型選擇Dialog -> 按下新增按鈕
3. 資源檢視 -> 滑鼠雙擊點選 IDDialog1, 跳出對話框 -> 新增2個Static Text元件, 2個Edit Control和1個Button
4. 點選對話框中的 IDC_EDIT1, 按下滑鼠右鍵出現選單 -> 加入變數 -> 變數名稱: m_edit1
5. 重複步驟4, -> 加入變數 -> 類別下拉選單(將預設的Control 改成 Value) -> 變數名稱: m_ddx_strdt
-> 最大字元數: 15
6. 點選對話框中的 IDC_EDIT2, 按下滑鼠右鍵出現選單 -> 加入變數 -> 變數名稱: m_edit2
7. 重複步驟6, -> 加入變數 -> 類別下拉選單(將預設的Control 改成 Value) -> 變數名稱: m_ddx_intdt
-> 最小值: 1 -> 最大值: 12
myDialog.cpp 程式碼會自動加入步驟4~7的結果, 如下:
void CmyDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EDIT1, m_edit1);
DDX_Text(pDX, IDC_EDIT1, m_ddx_strdt);
DDV_MaxChars(pDX, m_ddx_strdt, 15);
DDX_Control(pDX, IDC_EDIT2, m_edit2);
DDX_Text(pDX, IDC_EDIT2, m_ddx_intdt);
DDV_MinMaxInt(pDX, m_ddx_intdt, 1, 12);
}
8. 複製按鈕Callback function如下
void CmyDialog::OnBnClickedButton1()
{
// TODO: 在此加入控制項告知處理常式程式碼
CString ss;
m_edit1.GetWindowTextW(ss);
m_edit2.SetWindowTextW(ss);
}
原始程式: vddia2
Youtube操作展示: 2013-04-02_MFC使用DDX和DDV
留言列表