使用菜单列表和控件
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);