社区
界面
帖子详情
OnPaint触发问题
wzw200
2009-07-04 11:08:54
我在MFC里OnPaint函数里写了绘窗体为黑的一段代码,窗体最大,最小化时都绘黑,可是现在有一个问题,就是窗体失去焦点和得到焦点切换时(其他窗口影响的)这个函数又调用了一次(一闪一下),我想知道那位怎么不让他再调用这个OnPaint函数呢,当切换焦点时,谢谢各位了
...全文
340
9
打赏
收藏
OnPaint触发问题
我在MFC里OnPaint函数里写了绘窗体为黑的一段代码,窗体最大,最小化时都绘黑,可是现在有一个问题,就是窗体失去焦点和得到焦点切换时(其他窗口影响的)这个函数又调用了一次(一闪一下),我想知道那位怎么不让他再调用这个OnPaint函数呢,当切换焦点时,谢谢各位了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenfh2020
2009-07-08
打赏
举报
回复
那就在 OnPaint 里面处理 失去焦点和获得焦点的情况,让它不要将画面刷黑。
wzw200
2009-07-08
打赏
举报
回复
//除非你的窗体被盖住了,产生了无效区。
对 就是这样
xylicon
2009-07-04
打赏
举报
回复
把绘窗体为黑的一段代码放到别的函数,当需要把绘窗体为黑的时候调用这个函数。
wzw200
2009-07-04
打赏
举报
回复
而是你的窗口被遮住了再显示出来后导致窗口区域无效才这样的
对 就是这样
wzw200
2009-07-04
打赏
举报
回复
1楼说对 我的程序就是这样
oyljerry
2009-07-04
打赏
举报
回复
OnPaint是会当窗口需要刷新时就会调用,如切换窗口,窗口大小变化等
你可以在OnPaint中,在判断条件,只有窗口最大,最小化时,才调用你的画黑的代码部分
orangeam
2009-07-04
打赏
举报
回复
void CformviewView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(&rect, 0);
}
上面是画黑窗口的代码,我试过,不会闪烁,所以,闪烁的原因不在这里
arong1234
2009-07-04
打赏
举报
回复
你不能控制的,OnPaint在窗口区域被无效后总会被重绘
这不是失去焦点或者得到焦点导致的,而是你的窗口被遮住了再显示出来后导致窗口区域无效才这样的
wltg2001
2009-07-04
打赏
举报
回复
,可是现在有一个问题,就是窗体失去焦点和得到焦点切换时(其他窗口影响的)这个函数又调用了一次(一闪一下),我想知道那位怎么不让他再调用这个OnPaint函数呢
==============
焦点的变换不应该产生WM_PAINT消息的,所以不可能出现你所说的情况,除非你的窗体被盖住了,产生了无效区。
棋盘覆盖算法 演示 双缓冲绘图 定时器 VC++ 6.0 代码
语言C++,编译器VC++ 6.0 系统windows 知识涵盖MemoDC双缓冲绘图、Timer、控件关联变量、On
Paint
的
触发
STL中的vector使用,棋盘覆盖算法, 画笔等基础的MFC绘图
在WinCE5.0下实现透明背景按钮(.net C#)
在创建按钮的同时明确以下几个参数 容器控件、资源存放的目录、X坐标、Y坐标、背景图片、按钮的标题、非激活时的文字颜色、激活时的文字颜色、
触发
的指令。创建窗口,针对窗体事件做如下定义 •在Form_Load时生成...
c#t自定义Button
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq;... //this.Parent.Controls.SetChildIndex(this, index ...
PT80-NEAT开发指南v1.1
NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................
On
Paint
无限制
触发
最近在弄MFC界面,用DrawText输出需要定时更新的文本。...void On
Paint
() { //C
Paint
DC dc(this); CDC *pDC = &GetDC(); CDC MemDc; BITMAP bm; BYTE *pBits; CBitmap memBit; m_bitmap.GetBitmap(&bm);
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章