**【實驗目的】**
一、 掌握使用編程方式和拖拉方式來建立一個按鈕。
二、 掌握使用控件變量和DDX數據交換。編程
**【實驗過程】**
步驟以下:less
BOOL CEx\_CreateDlg::OnInitDialog() { CDialog::OnInitDialog(); //… m\_btnWnd.Create("你好", WS\_CHILD | WS\_VISIBLE | BS\_PUSHBUTTON | WS\_TABSTOP, CRect(20, 20, 120, 40), this, 201); // 建立 CFont \*font = this->GetFont(); // 獲取對話框的字體 m\_btnWnd.SetFont(font); // 設置控件字體 return TRUE; // return TRUE unless you set the focus to a control }
void CEx_CreateDlg::OnButton1() { MessageBox(_T("你按下了\"Button1\"按鈕!")); }
BOOL CEx_CreateDlg::OnCommand(WPARAM wParam, LPARAM lParam) { WORD nCode = HIWORD(wParam); // 控件的通知消息 WORD nID = LOWORD(wParam); // 控件的ID if ((nID == 201)&&(nCode == BN_CLICKED)) MessageBox(_T("你按下了\"你好\"按鈕!")); if ((nID == IDC_BUTTON1)&&(nCode == BN_CLICKED)) MessageBox(_T("這是在OnCommand處理的結果!")); return CDialog::OnCommand(wParam, lParam); }
步驟以下:函數
void CEx_MemberDlg::OnButton1() { UpdateData(); // 將控件的內容存放到變量中 // 沒有參數,表示使用的是默認參數值TRUE m_Static1.SetWindowText(m_str1); } void CEx_MemberDlg::OnButton2() { // TODO: Add your control notification handler code here CString str; CStatic *pStatic = (CStatic *)GetDlgItem(IDC_STATIC1); pStatic->GetWindowText(str); m_Static2.SetWindowText(str); } void CEx_MemberDlg::OnButton3() { // TODO: Add your control notification handler code here UpdateData(TRUE); // 將控件的內容存放到變量中 // 沒有參數,表示使用的是默認參數值TRUE m_str2=m_str1; UpdateData(false); // 將變量內容存放到控件中 // 沒有參數,表示使用的是默認參數值TRUE } void CEx_MemberDlg::OnButton4() { // TODO: Add your control notification handler code here CString str; CStatic *pStatic = (CStatic *)GetDlgItem(IDC_STATIC1); pStatic->GetWindowText(str); m_Edit1.SetWindowText(str); }