社区
界面
帖子详情
防止鼠标拖动CListctrl来改变列宽时的闪烁
coldplay968
2006-11-21 03:12:32
我根据第奇偶行绘制了不同的背景行颜色,并处理了NM_CUSTOMDRAW消息(OnCustomDraw)来在每行的第二列绘制了一张图片,
当用鼠标拖动列表头来改变列宽时,发现很闪烁
在OnSizing函数中设置SetRedraw(FALSE);和LockWindowUpdate();都没有用
在OnEraseBkgnd(CDC* pDC) 中无论返回FALSE或者TRUE ,也没有用
...全文
336
6
打赏
收藏
防止鼠标拖动CListctrl来改变列宽时的闪烁
我根据第奇偶行绘制了不同的背景行颜色,并处理了NM_CUSTOMDRAW消息(OnCustomDraw)来在每行的第二列绘制了一张图片, 当用鼠标拖动列表头来改变列宽时,发现很闪烁 在OnSizing函数中设置SetRedraw(FALSE);和LockWindowUpdate();都没有用 在OnEraseBkgnd(CDC* pDC) 中无论返回FALSE或者TRUE ,也没有用
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sms88
2006-11-30
打赏
举报
回复
up
CC_TV1
2006-11-28
打赏
举报
回复
up
coldplay968
2006-11-22
打赏
举报
回复
可我只是使用OnEraseBkgnd(CDC* pDC) 改变背景颜色而已,但是同样会出现闪烁
coldplay968
2006-11-22
打赏
举报
回复
up
一分之千
2006-11-21
打赏
举报
回复
这个你可以参考VC6.0技术内幕关于绘图一章的好像是第二个例子吧,这个例子是对第五章的一个例子进行的改动,防止闪烁。或者你也可以使用双缓存技术来防止闪烁。双缓存如下:
===========================================
在OnDraw(CDC *pDC)中:
CDC MemDC; //首先定义一个显示设备对象
CBitmap MemBitmap;//定义一个位图对象
//随后建立与屏幕显示兼容的内存显示设备
MemDC.CreateCompatibleDC(NULL);
//这时还不能绘图,因为没有地方画 ^_^
//下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小
MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
//将位图选入到内存显示设备中
//只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
//先用背景色将位图清除干净,这里我用的是白色作为背景
//你也可以用自己应该用的颜色
MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));
//绘图
MemDC.MoveTo(……);
MemDC.LineTo(……);
//将内存中的图拷贝到屏幕上进行显示
pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);
//绘图完成后的清理
MemBitmap.DeleteObject();
MemDC.DeleteDC();
dasiu
2006-11-21
打赏
举报
回复
使用双缓冲区,防止闪烁
Cli
stCtrl
列宽
问题
自动调整
列宽
1 自动调整
CLi
stCtrl
列宽
void CPrintsysDlg::AdjustColumnWidth() { //SetRedraw(FALSE); int nColumnCount = GetColumnCount(); for (int i = 0; i < nColumnCount; i++) { m_list.SetColumnWidth(
CLi
stCtrl
使用技巧
以下未经说明,li
stctrl
默认view 风格为report相关类及处理函数MFC:
CLi
stCtrl
类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1.
CLi
stCtrl
风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_
MFC总结之
CLi
stCtrl
用法及技巧
文根据本人在项目中的应用,来谈谈
CLi
stCtrl
的部分用法及技巧。当初学习
时
,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止
拖动
表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头
时
进行归类、向上与向下移动、动态调整大小问题、避免
闪烁
问题。 ...
MFC总结之
CLi
stCtrl
用法及技巧(一)
本文根据本人在项目中的应用,来谈谈
CLi
stCtrl
的部分用法及技巧。当初学习
时
,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止
拖动
表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头
时
进行归类、向上与向下移动、动态调整大小问题、避免
闪烁
问题。
MFC总结之
CLi
stCtrl
用法及技巧(二)
转自:http://blog.csdn.net/zwgdft/article/details/7565331 续第一篇:MFC总结之
CLi
stCtrl
用法及技巧(一) http://blog.csdn.net/zwgdft/article/details/7560592 本篇重点介绍:禁止
拖动
表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章