MFC_2.6 使用菜单列表和控件

Posted ltyandy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC_2.6 使用菜单列表和控件相关的知识,希望对你有一定的参考价值。

使用菜单列表和控件

1.添加List Control控件

2.属性设置VIEW 为REPORT

3.初始化

// 1. 设置列表的扩展风格
m_ListCtrl.SetExtendedStyle(LVS_EX_GRIDLINES |
LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);
?
?
// 2. 添加列表的列
m_ListCtrl.InsertColumn(0, L"应用名称", LVCFMT_CENTER, 150);
m_ListCtrl.InsertColumn(1, L"应用路径", LVCFMT_CENTER, 260);
m_ListCtrl.InsertColumn(2, L"应用编号", LVCFMT_CENTER, 100);
?
// 3. 添加行的数据(指定图片列表的哪一个)
m_ListCtrl.InsertItem(0, L"QQ.exe", 1);
m_ListCtrl.SetItemText(0, 1, L"C:\\QQ.exe");
m_ListCtrl.SetItemText(0, 2, L"0x2131");
m_ListCtrl.InsertItem(1, L"Browser.exe", 0);
m_ListCtrl.SetItemText(1, 1, L"D:\\Browser.exe");
m_ListCtrl.SetItemText(1, 2, L"0x4556");

4.设置图片

h文件要添加成员
CImageList m_ImageList;
?
// 图片列表的操作(长宽, 颜色, 初始化多少个, 可以添加多少个)
m_ImageList.Create(32, 32, ILC_COLOR32, 2, 0);
m_ImageList.Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON1)));
m_ImageList.Add(LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON2)));
?
// 关联图片列表到列表控件
m_ListCtrl.SetImageList(&m_ImageList, LVSIL_SMALL);

5.设置右键弹出菜单

添加菜单资源

资源文件Dialog里面右键-添加事件处理程序-选择右键处理事件。

// 获取到菜单对象
CMenu Menu;
Menu.LoadMenuW(IDR_MENU1);
?
// 获取子窗口
CMenu* SubMenu = Menu.GetSubMenu(0);
?
// 获取鼠标的位置
CPoint Point;
GetCursorPos(&Point);
?
// 弹出子窗口
SubMenu->TrackPopupMenu(TPM_LEFTALIGN, Point.x, Point.y, this);

 

以上是关于MFC_2.6 使用菜单列表和控件的主要内容,如果未能解决你的问题,请参考以下文章

VC MFC 框架中 添加按钮控件

如何:将列表控件 (mfc) 数据复制到剪贴板?

上下文菜单不适用于两个片段

转MFC下拉列表框的用法

怎么读取列表控件中的数据

vs2013怎么用mfc添加菜单项消息响应函数