对话框控件访问七种方式转自孙鑫

  1. GetDlgItem()->Get(Set)WindowText()
  2. GetDlgItemText()/SetDlgItemText()
  3. GetDlgItemInt()/SetDlgItemInt()
  4. 将控件和整型变量相关联
  5. 将控件和控件变量相关联
  6. SendMessage()
  7. SendDlgItemMessage()

具体7种方法的demo如下:

<wbr></wbr>

<wbr><strong>1.GetDlgItem()-&gt;Get(Set)WindowText()</strong></wbr>

static BOOL bIsCreate=FALSE;
 if(m_bIsCreate==FALSE)
 if(bIsCreate==FALSE)
 {
  m_btn.Create("对话框",BS_DEFPUSHBUTTON| WS_VISIBLE | WS_CHILD,
   CRect(0,0,100,100),this,123);
  //m_bIsCreate=TRUE;
  bIsCreate=TRUE;
 }
 else
 {
  m_btn.DestroyWindow();
  //m_bIsCreate=FALSE;
  bIsCreate=FALSE;
 }


2.GetDlgItemText()/SetDlgItemText()

if(!m_btn.m_hWnd)
 {
  m_btn.Create("维新",BS_DEFPUSHBUTTON| WS_VISIBLE | WS_CHILD,
   CRect(0,0,100,100),this,123);
 }
 else
 {
  m_btn.DestroyWindow();
 }


3.GetDlgItemInt()/SetDlgItemInt()

int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
 GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);
 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);
 GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);

<wbr></wbr>

4.将控件和整型变量相关联

int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 GetDlgItemText(IDC_EDIT1,ch1,10);
 GetDlgItemText(IDC_EDIT2,ch2,10);
 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);
 SetDlgItemText(IDC_EDIT3,ch3);

<wbr></wbr>

5.将控件和控件变量相关联

 int num1,num2,num3;
 num1=GetDlgItemInt(IDC_EDIT1);
 num2=GetDlgItemInt(IDC_EDIT2);
 num3=num1+num2;
 SetDlgItemInt(IDC_EDIT3,num3);
 UpdateData();
 m_num3=m_num1+m_num2;
 UpdateData(FALSE);


<wbr></wbr>

6.SendMessage()


int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];
 m_edit1.GetWindowText(ch1,10);
 m_edit2.GetWindowText(ch2,10);
 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);
 m_edit3.SetWindowText(ch3);

<wbr><p></p><p><strong><span style="font-family:Microsoft YaHei; font-size:14px">7.SendDlgItemMessage()</span></strong></p><p><span style="font-family:Microsoft YaHei; font-size:14px"></span></p><pre name="code" class="cpp">int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; //::SendMessage(GetDlgItem(IDC_EDIT1)-&gt;m_hWnd,WM_GETTEXT,10,(LPARAM)ch1); //::SendMessage(m_edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1); //GetDlgItem(IDC_EDIT1)-&gt;SendMessage(WM_GETTEXT,10,(LPARAM)ch1); m_edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1); m_edit2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2); num1=atoi(ch1); num2=atoi(ch2); num3=num1+num2; itoa(num3,ch3,10); m_edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);*/ int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1); SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2); num1=atoi(ch1); num2=atoi(ch2); num3=num1+num2; itoa(num3,ch3,10); SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3); SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,0,-1); m_edit3.SetFocus();</pre><br><p></p></wbr>

你可能感兴趣的:(对话框控件访问七种方式转自孙鑫)