资源简介
MFC中如何使用子控件向父控件发送自定义消息

代码片段和文件信息
// MyListCtrl.cpp : 实现文件
//
#include “stdafx.h“
#include “任务管理器.h“
#include “MyListCtrl.h“
// CMyListCtrl
IMPLEMENT_DYNAMIC(CMyListCtrl CListCtrl)
CMyListCtrl::CMyListCtrl()
: m_nItem(0)
m_dwColCount(0)
m_dwItemCount(0)
{
}
CMyListCtrl::~CMyListCtrl()
{
}
BEGIN_MESSAGE_MAP(CMyListCtrl CListCtrl)
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW &CMyListCtrl::OnNMCustomdraw)
ON_WM_RBUTTONDOWN()
ON_NOTIFY_REFLECT(NM_RCLICK &CMyListCtrl::OnNMRClick)
ON_COMMAND(ID_32778 &CMyListCtrl::MyProcessFlush)
ON_COMMAND(ID_32779 &CMyListCtrl::MyProcessModule)
ON_COMMAND(ID_32780 &CMyListCtrl::MyProcessThread)
ON_COMMAND(ID_32781 &CMyListCtrl::MyProcessKill)
ON_COMMAND(ID_32782 &CMyListCtrl::MyProcessOutFile)
END_MESSAGE_MAP()
// CMyListCtrl 消息处理程序
void CMyListCtrl::PreSubclassWindow()
{
SetExtendedstyle(GetExtendedstyle() | // 设置列表框属性第一列有Checkbox
LVS_EX_FULLROWSELECT | // 设置列样式表框属性可以选中整行
LVS_EX_GRIDLINES); // 设置列表框有表格样式
CListCtrl::PreSubclassWindow();
}
void CMyListCtrl::OnNMCustomdraw(NMHDR *pNMHDR LRESULT *pResult)
{
// NMLVCUSTOMDRAW* pNMCD = reinterpret_cast(pNMHDR);
// if (CDDS_PREPAINT == pNMCD->nmcd.dwDrawStage)
// {
// *pResult = CDRF_NOTIFYITEMDRAW; // 通知父窗口需要接收绘制列表框中每条记录前后的通告消息。
// }
// else
// {
// if (CDDS_ITEMPREPAINT == pNMCD->nmcd.dwDrawStage)
// {
// *pResult = CDRF_NOTIFYSUBITEMDRAW; // 通知父窗口需要接收绘制列表框每个子项的通告消息。
// }
// else if ((CDDS_ITEMPREPAINT | CDDS_SUBITEM) == pNMCD->nmcd.dwDrawStage)
// {
// int nItem = static_cast(pNMCD->nmcd.dwItemSpec); // 更新当前条目
// // pNMCD->iSubItem 即为当前条目的子项
// pNMCD->clrText = m_vecItemColor[nItem].clrtextColor;
// pNMCD->clrTextBk = m_vecItemColor[nItem].clrBkColor;
// *pResult = CDRF_DODEFAULT; // 通知控件自绘
// }
// }
}
void CMyListCtrl::InsertCol(DWORD dwCount ...)
{
va_list argptr;
va_start(argptr dwCount);
for (DWORD i = 0; i < dwCount; i++)
{
TCHAR* pStrTabName = va_arg(argptr TCHAR*);//列名
DWORD dwWidth = va_arg(argptr UINT); //列宽
InsertColumn(i pStrTabName 0 dwWidth);
// InsertColumn(i pStrTabName 0 dwWidth);
}
va_end(argptr);
m_dwColCount = dwCount;
}
void CMyListCtrl::InsertOnLineItem(DWORD dwCount ...)
{
va_list argptr;
va_start(argptr dwCount);
TCHAR* pStrItemName = va_arg(argptr TCHAR*);//第一列
InsertItem(m_dwItemCount pStrItemName);
for (DWORD i = 1; i < dwCount; i++)
{
TCHAR* pStrItemName = va_arg(argptr TCHAR*);//第n列
SetItemText(m_dwItemCount i pStrItemName);
}
va_end(argptr);
ITEM_COLOR stcInfo;
m_vecItemColor.push_back(stcInfo);
m_dwItemCount++;
}
void CMyListCtrl::SetItemColor(DWORD dwIndex
COLORREF clrTextColor
COLORREF clrBkColor)
{
m_vecItemColor[dwIndex].clrtextColor = clrTextColor;
m_vecItemColor[dwIndex].clrBkColor = clrBkColor;
}
void CMyListCtrl::OnRButtonDown(UINT nFlags CPoint point)
{
// TODO: 在
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5713 2015-10-24 20:23 任务管理器 - bak03 可以右键 发送消息但还未处理\MyListCtrl.cpp
文件 1250 2015-10-24 19:50 任务管理器 - bak03 可以右键 发送消息但还未处理\MyListCtrl.h
文件 808 2015-10-24 14:48 任务管理器 - bak03 可以右键 发送消息但还未处理\MyStatusBar.cpp
文件 331 2015-10-24 14:48 任务管理器 - bak03 可以右键 发送消息但还未处理\MyStatusBar.h
文件 2085 2015-10-24 19:26 任务管理器 - bak03 可以右键 发送消息但还未处理\MyTabCtrl.cpp
文件 631 2015-10-24 19:16 任务管理器 - bak03 可以右键 发送消息但还未处理\MyTabCtrl.h
文件 7170 2015-10-24 20:32 任务管理器 - bak03 可以右键 发送消息但还未处理\ProcessDlg.cpp
文件 1217 2015-10-24 20:00 任务管理器 - bak03 可以右键 发送消息但还未处理\ProcessDlg.h
文件 9545 2015-10-23 20:17 任务管理器 - bak03 可以右键 发送消息但还未处理\ProcMgr.cpp
文件 2514 2015-10-24 11:05 任务管理器 - bak03 可以右键 发送消息但还未处理\ProcMgr.h
文件 1753 2015-10-23 20:44 任务管理器 - bak03 可以右键 发送消息但还未处理\ProgramDlg.cpp
文件 563 2015-10-23 16:18 任务管理器 - bak03 可以右键 发送消息但还未处理\ProgramDlg.h
文件 4175 2015-10-23 10:02 任务管理器 - bak03 可以右键 发送消息但还未处理\ReadMe.txt
文件 4286 2015-10-23 10:58 任务管理器 - bak03 可以右键 发送消息但还未处理\res\favicon.ico
文件 10134 2013-07-22 01:18 任务管理器 - bak03 可以右键 发送消息但还未处理\res\icon1.ico
文件 660 2015-10-23 10:02 任务管理器 - bak03 可以右键 发送消息但还未处理\res\My.rc2
文件 238 2015-10-23 10:23 任务管理器 - bak03 可以右键 发送消息但还未处理\res\toolbar1.bmp
文件 238 2015-10-23 10:23 任务管理器 - bak03 可以右键 发送消息但还未处理\res\toolbar2.bmp
文件 67777 2013-07-22 01:18 任务管理器 - bak03 可以右键 发送消息但还未处理\res\任务管理器.ico
文件 4188 2015-10-24 18:38 任务管理器 - bak03 可以右键 发送消息但还未处理\resource.h
文件 143 2015-10-23 10:02 任务管理器 - bak03 可以右键 发送消息但还未处理\stdafx.cpp
文件 2073 2015-10-24 19:57 任务管理器 - bak03 可以右键 发送消息但还未处理\stdafx.h
文件 234 2015-10-23 10:02 任务管理器 - bak03 可以右键 发送消息但还未处理\targetver.h
文件 116644 2015-10-24 20:16 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.aps
文件 2426 2015-10-23 10:02 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.cpp
文件 467 2015-10-23 10:02 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.h
..A..H. 28 2015-10-24 07:52 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.opensdf
文件 16134 2015-10-24 20:16 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.rc
文件 11264 2015-10-24 20:23 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.v12.suo
文件 6872 2015-10-24 14:46 任务管理器 - bak03 可以右键 发送消息但还未处理\任务管理器.vcxproj
............此处省略13个文件信息
- 上一篇:CYK算法的C++实现
- 下一篇:mfc 实现图片的移动 火箭移动效果
相关资源
- 基于MFC的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- 仿射密码-Affine cipher
- c++MFC车牌自动识别定位,只能定位和
- mfc+sql 酒店客房管理系统
- 基于图割的图像分割OpenCV+MFC实现
- MFC绘制Bezier曲线B样条曲线曲线拟合
评论
共有 条评论