MFC常用控件

Myth丶恋晨 2023-02-18 14:06 60阅读 0赞

ComboBox:下拉框

  1. m_combobox.AddString(TEXT("唐僧"));
  2. m_combobox.AddString(TEXT("孙悟空"));
  3. m_combobox.AddString(TEXT("八戒"));
  4. m_combobox.AddString(TEXT("沙僧"));
  5. m_combobox.SetCurSel(0);
  6. m_combobox.InsertString(2, TEXT("白龙马"));
  7. m_combobox.DeleteString(3);
  8. CString str;
  9. m_combobox.GetLBText(1, str);

List Control:

报表模式:设置View为report

  1. CString str1[3] = { TEXT("姓名"), TEXT("性别"), TEXT("年龄") };
  2. for (int i = 0; i < 3; i++) {
  3. m_listCtrl.InsertColumn(i, str1[i], LVCFMT_LEFT, 100);//对齐方式 列宽
  4. }
  5. for (int i = 0; i < 10; i++) {
  6. CString str;
  7. str.Format(TEXT("张三_%d", i));
  8. m_listCtrl.InsertItem(i, str);
  9. m_listCtrl.SetItemText(i, 1, TEXT("男"));
  10. m_listCtrl.SetItemText(i, 2, TEXT("18"));
  11. }
  12. //设置属性 设置整行选中状态 显示网格
  13. m_listCtrl.SetExtendedStyle(m_listCtrl.GetExtendedStyle() | \
  14. LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

Tree Control

Lines At Root:根节点有线可以折叠。

Has Buttons:可以折叠

Has Lines:有虚线连接首尾

  1. //设置图标
  2. HICON icons[4];
  3. icons[0] = AfxGetApp()->LoadIconW(IDI_ICON1);
  4. icons[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
  5. icons[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
  6. icons[3] = AfxGetApp()->LoadIconW(IDI_ICON4);
  7. //CImageList list;需要保存,所以写到类成员里
  8. list.Create(30, 30, ILC_COLOR32, 4, 4);//创建图片集合
  9. for (int i = 0; i < 4; i++) {
  10. list.Add(icons[i]);
  11. }
  12. m_tree.SetImageList(&list, TVSIL_NORMAL); //设置图片集合
  13. //设置节点
  14. HTREEITEM root = m_tree.InsertItem(TEXT("根节点"), 0, 0, NULL);
  15. HTREEITEM parent = m_tree.InsertItem(TEXT("父节点"), 1, 1, root);
  16. HTREEITEM sub1 = m_tree.InsertItem(TEXT("子节点1"), 1, 1, parent);
  17. HTREEITEM sub2 = m_tree.InsertItem(TEXT("子节点2"), 1, 1, parent);
  18. m_tree.SelectItem(sub1); //设置默认项

20200618093433224.PNG

切换选中时触发控件事件:TVN_SELCHANGED

  1. void CMFC2Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
  2. {
  3. LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
  4. // TODO: 在此添加控件通知处理程序代码
  5. *pResult = 0;
  6. HTREEITEM item = m_tree.GetSelectedItem();
  7. CString name = m_tree.GetItemText(item);
  8. MessageBox(name);
  9. }

Tab Control:

添加对应tab个数的Dialog并设置以下两项项:

Border:None 边框设置为无

Style:Child

添加导入重写完Tab Control的类,将此类和另外的Dialog添加为成员变量。

之后建立联系即可:

  1. m_tab.AddPage(TEXT("系统设置"), &d1, IDD_DIALOG3);
  2. m_tab.AddPage(TEXT("系统管理"), &d2, IDD_DIALOG4);
  3. //显示
  4. m_tab.Show();

测试的所有控件都写在了一个文件里:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hlbGxvX015RHJlYW0_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,60人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MFC列表

    1.如何在对话框上添加图片 利用MFC中的Picture Control控件,步骤如下: 在资源管理其中添加一个位图文件; 在对话框中添加一个Picture Contro

    相关 MFC

    1. MFC中的Radio控件是成组的,所以需要把Radio的Group属性设为true,否则中右键->添加变量时会没有Radio控件的ID出现。 2. MFC中的List