您的位置:首页 > 编程语言 > C语言/C++

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

2012-02-07 17:00 671 查看
====================标签====================

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vc++ null tree mfc 日历