MFC常用控件
ComboBox:下拉框
m_combobox.AddString(TEXT("唐僧"));
m_combobox.AddString(TEXT("孙悟空"));
m_combobox.AddString(TEXT("八戒"));
m_combobox.AddString(TEXT("沙僧"));
m_combobox.SetCurSel(0);
m_combobox.InsertString(2, TEXT("白龙马"));
m_combobox.DeleteString(3);
CString str;
m_combobox.GetLBText(1, str);
List Control:
报表模式:设置View为report
CString str1[3] = { TEXT("姓名"), TEXT("性别"), TEXT("年龄") };
for (int i = 0; i < 3; i++) {
m_listCtrl.InsertColumn(i, str1[i], LVCFMT_LEFT, 100);//对齐方式 列宽
}
for (int i = 0; i < 10; i++) {
CString str;
str.Format(TEXT("张三_%d", i));
m_listCtrl.InsertItem(i, str);
m_listCtrl.SetItemText(i, 1, TEXT("男"));
m_listCtrl.SetItemText(i, 2, TEXT("18"));
}
//设置属性 设置整行选中状态 显示网格
m_listCtrl.SetExtendedStyle(m_listCtrl.GetExtendedStyle() | \
LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
Tree Control
Lines At Root:根节点有线可以折叠。
Has Buttons:可以折叠
Has Lines:有虚线连接首尾
//设置图标
HICON icons[4];
icons[0] = AfxGetApp()->LoadIconW(IDI_ICON1);
icons[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
icons[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
icons[3] = AfxGetApp()->LoadIconW(IDI_ICON4);
//CImageList list;需要保存,所以写到类成员里
list.Create(30, 30, ILC_COLOR32, 4, 4);//创建图片集合
for (int i = 0; i < 4; i++) {
list.Add(icons[i]);
}
m_tree.SetImageList(&list, TVSIL_NORMAL); //设置图片集合
//设置节点
HTREEITEM root = m_tree.InsertItem(TEXT("根节点"), 0, 0, NULL);
HTREEITEM parent = m_tree.InsertItem(TEXT("父节点"), 1, 1, root);
HTREEITEM sub1 = m_tree.InsertItem(TEXT("子节点1"), 1, 1, parent);
HTREEITEM sub2 = m_tree.InsertItem(TEXT("子节点2"), 1, 1, parent);
m_tree.SelectItem(sub1); //设置默认项
切换选中时触发控件事件:TVN_SELCHANGED
void CMFC2Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
HTREEITEM item = m_tree.GetSelectedItem();
CString name = m_tree.GetItemText(item);
MessageBox(name);
}
Tab Control:
添加对应tab个数的Dialog并设置以下两项项:
Border:None 边框设置为无
Style:Child
添加导入重写完Tab Control的类,将此类和另外的Dialog添加为成员变量。
之后建立联系即可:
m_tab.AddPage(TEXT("系统设置"), &d1, IDD_DIALOG3);
m_tab.AddPage(TEXT("系统管理"), &d2, IDD_DIALOG4);
//显示
m_tab.Show();
测试的所有控件都写在了一个文件里:
还没有评论,来说两句吧...