MFC中常用控件使用方法总结

来源:互联网 发布:全文翻译的软件 编辑:程序博客网 时间:2024/05/20 02:30

1、提示框操作:

INT_PTR nRes;        

nRes = MessageBox(_T("是否需要进行数据擦除?"), _T("数据擦除"),MB_YESNOCANCEL);  

if (IDYES == nRes)   

{

         MessageBox(_T("IDYES"));

}

 

if (IDNO == nRes)    

{

         MessageBox(_T("IDNO"));

}

 if(IDCANCEL == nRes)  

 {

         MessageBox(_T("IDCANCEL"));

 }

 

 

2、EDIT控件操作:

 CEdit* pBoxOne;

 CString str;

 

 pBoxOne = (CEdit*)GetDlgItem(IDC_EDIT1);//获取ID

 pBoxOne->SetWindowText( _T("FOO ") );//赋值

 pBoxOne->GetWindowText(str);  //取值

 

 

GetDlgItem(IDC_BUTTON_STATESET)->EnableWindow(FALSE);//变灰

GetDlgItem(IDC_BUTTON_STATESET)->EnableWindow(TRUE);//变亮

GetDlgItem(IDC_BUTTON_OPENSINGLECH)->ShowWindow(SW_HIDE);//隐藏

 

3、CHECK控件操作:

 

CButton * pCheck_CH1;

pCheck_CH1 = ((CButton*)GetDlgItem(IDC_CHECK_CH1));//获取相应的编辑框ID

pCheck_CH1->SetCheck(TRUE);

pCheck_CH1 ->SetCheck(FALSE);

 

if(BST_CHECKED==pCheck_CH1->GetCheck())//选中

{

         MessageBox(_T("IDC_CHECK_CH1"));

}


4、Combo组件操作:

         pCombo_Unit0= (CComboBox *)GetDlgItem(IDC_COMBO_UNIT0);

         CStringstrcom;

         strcom.Format(_T("ns"));

         pCombo_Unit0->AddString(strcom);

 

         pCombo_Unit0->SetCurSel(1);

 

添加CBN_SELCHANGE消息响应,这样选择某一项(item)后会触发消息事件

   资源对话框,Combo Box控件(IDC_COMBO_WEB)--->[属性],

  闪电图标[控件事件]里点击CBN_SELCHANGE,右边有添加OnCbnSelchangeComboWeb()函数,自动生成代码


5、Tab控件操作:

 

CTabCtrl    m_tab;  //添加变量

 

添加新Dialog 并添加类,在主窗口.h下定义变量:

TabCh1   m_tabch1;  // TabCh1   为新Dialog类

TabCh2   m_tabch2;  // TabCh1   为新Dialog类

 

m_tab.InsertItem(0,L"通道1");

m_tab.InsertItem(1,L"通道2");

 

m_tabch1.Create(IDD_CH1, &m_tab);

m_tabch2.Create(IDD_CH2, &m_tab);

 

CRect rect;

m_tab.GetClientRect(&rect);//获取父对话框的区域坐标

 

rect.top+=25; //子对话框的上坐标,原始为0

rect.bottom-=4; //子对话框的下坐标,原始为区域的高

rect.left+=4; //子对话框的左坐标,原始为0

rect.right-=4; //子对话框的右坐标,原始为区域的宽

 

m_tabch1.MoveWindow(&rect);

m_tabch2.MoveWindow(&rect);

 

m_tabch1.ShowWindow(TRUE);

m_tab.SetCurSel(0);

 

int CurSel;

CurSel=m_tab.GetCurSel();


6、进度条:

SetRange()函数用来设置范围,初始范围为0-100

SetPos()函数用来设置当前位置,初始值为0

SetStep()函数用来设置步长,初始步长为10

StepIt()函数用来按照当前步长更新位置


CProgressCtrl *m_progress; //进度条

m_progress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1); 
m_progress->SetRange(0,100); 
m_progress->SetPos(0); 


pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLIDER);

pSlidCtrl->SetRange(0,100,TRUE);//设置滑动条范围

pSlidCtrl->SetPos(50);//设置滑动条位置

dlg->pSlidCtrl->GetPos();//取得当前位置值

pSlidCtrl->SetPos(NewPos);//设置滑动条位置


7、IP控件:

CString enc="192.168.1.11"; 

m_ipenc.SetWindowText(enc); 

unsigned  char   *pIP;

CString  strEncIP;

DWORD  dwIP;

unsigned  char   pEncIP[4];

 

m_ipenc.GetAddress(dwIP);  // 获取编码板IP

pIP  =   (unsigned   char*)&dwIP;

strEncIP.Format( "%u.%u.%u.%u",*(pIP+3),   *(pIP+2),   *(pIP+1),  *pIP);

         pEncIP[0]= *(pIP+0);

         pEncIP[1]= *(pIP+1);

         pEncIP[2]= *(pIP+2);

         pEncIP[3]= *(pIP+3);

        

 





0 0
原创粉丝点击