VC++/MFC常用控件 基本使用方法

====================标签====================

CStatic* cw= (CStatic*)GetDlgItem(IDC_STATIC);
设置标签内容   
cw->SetWindowTextW(_T("aaa"));
获取标签内容
  CString s ;
  cw->GetWindowTextW(s);


输入框///
  CEdit* ce = (CEdit*)GetDlgItem(IDC_EDIT2);
  ce->SetWindowTextW(_T("bb"));
  ce->GetWindowTextW(s);




=====================单选框============================


  CButton* radio1 = (CButton*)GetDlgItem(IDC_RADIO1);


  CButton* radio2 = (CButton*)GetDlgItem(IDC_RADIO2);
  if(radio1->GetCheck() !=NULL){
  MessageBox(_T("radio1 checked"),0,0);
  radio1->SetCheck(0);
  radio2->SetCheck(1);
  }
  if(radio2->GetCheck() != NULL){
  radio2->SetCheck(0);
  radio1->SetCheck(1);
  MessageBox(_T("radio2 checked"));
  }





=====================复选框=======================


CButton* chkBtn1 = (CButton*)GetDlgItem(IDC_CHECK1);
CButton* chkBtn2 = (CButton*)GetDlgItem(IDC_CHECK2);
 if(chkBtn1->GetCheck() !=NULL){
  MessageBox(_T("check1 checked"),0,0);
  chkBtn2->SetCheck(1);
  }
  if(chkBtn2->GetCheck() !=NULL){
  MessageBox(_T("radio2 checked"),0,0);
  chkBtn1->SetCheck(0);
  chkBtn2->SetCheck(0);
  }



=====================测试数据源=======================

  CStringList* dataSource = new CStringList();
dataSource->AddTail(_T("aaa"));
dataSource->AddTail(_T("bbb"));
dataSource->AddTail(_T("ccc"));
dataSource->AddTail(_T("ddd"));
dataSource->AddTail(_T("aaa"));
dataSource->AddTail(_T("aaa"));
dataSource->AddTail(_T("bbb"));
dataSource->AddTail(_T("ccc"));
dataSource->AddTail(_T("ddd"));
dataSource->AddTail(_T("aaa"));
dataSource->AddTail(_T("aaa"));
dataSource->AddTail(_T("bbb"));
dataSource->AddTail(_T("ccc"));
dataSource->AddTail(_T("ddd"));
dataSource->AddTail(_T("aaa"));




=========================下拉框===================


 
 CComboBox* cb = (CComboBox*)GetDlgItem(IDC_COMBO1);//获得当前combobox句柄


  data source


POSITION rPos;
rPos = dataSource->GetHeadPosition();
while (rPos != NULL)
{
   CString s= dataSource->GetNext(rPos);
   去重
   if(cb->FindString(0,s) < 0){
   cb->AddString(s);
   }
}


cb->SetCurSel(2);//设置当前选中项


获取选中项
CString cbSel;
cb->GetLBText(cb->GetCurSel(),cbSel);
MessageBox(cbSel,0,0);
//cb->ResetContent();//清空


  
====================列表框========================
CListBox* cl = (CListBox*)GetDlgItem(IDC_LIST2);


POSITION rPos1;
rPos1 = dataSource->GetHeadPosition();
while (rPos1 != NULL)
{
   CString s= dataSource->GetNext(rPos1);
   去重
   if(cl->FindString(0,s) < 0){
   cl->AddString(s);
   }
}


设置选中
cl->SetSel(1);


获取选中项
CString strLstSel;
cl->GetText(cl->GetCurSel(),strLstSel);
MessageBox(strLstSel,0,0);






================mfc树控件=====================


CTreeCtrl* m_Tree = (CTreeCtrl*)GetDlgItem(IDC_TREE1);


设置样式
m_Tree->ModifyStyle(NULL,TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT); 


添加几个节点
HTREEITEM root = m_Tree->InsertItem(_T("root"),NULL,NULL);///root就是节点的标题 
int i,j; 
for (i=0;i<4;i++) { 
HTREEITEM childNode = m_Tree->InsertItem(_T("item"),NULL,NULL,root); 
for (j=0;j<3;j++) { 
HTREEITEM ccNode = m_Tree->InsertItem(_T("subitem"),NULL,NULL,childNode);
m_Tree->InsertItem(_T("subsubItem"),ccNode);
}
}


删除节点
CTreeCtrl* m_Tree = (CTreeCtrl*)GetDlgItem(IDC_TREE1);
m_Tree->DeleteItem(m_Tree->GetSelectedItem());


MFC tree控件  获取选中


// HTREEITEM selItem = m_Tree->GetSelectedItem();
//CString rlt = m_Tree->GetItemText(selItem);
//AfxMessageBox(rlt);



//================================日历控件========================
CMonthCalCtrl* ctlCalendar = (CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1);


获取当前选中的日期
SYSTEMTIME* t = new SYSTEMTIME ();
//ctlCalendar->GetCurSel(t);
    CString m_str;


//m_str.Format(_T("%d-%d-%d  %d:%d:%d"),t->wYear,t->wMonth,t->wDay,
// t->wHour,t->wMinute,t->wSecond);
//AfxMessageBox(m_str);



    //================================日期控件============================


CTime st ;
CDateTimeCtrl* ctlDatetime = (CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER1);
ctlDatetime->GetTime(st);


m_str.Format(_T("%d-%d-%d  %d:%d:%d"),st.GetYear(),st.GetMonth(),st.GetDay(),
st.GetHour(),st.GetMinute(),st.GetSecond());
AfxMessageBox(m_str);
free(t);



==================弹出新的对话框==================

TestDlg* dlg = new TestDlg();
dlg->DoModal();


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值