mfc的一些疑问

有几个问题首先,如何在一个基于对话框的应用程序中导入一张位图作背景,因为我在onpain中调用,结果一调用invalidate就没了,这是为何,然后拖一拖又回来了然后如何... 有几个问题
首先,
如何在一个基于对话框的应用程序中导入一张位图作背景,
因为我在onpain中调用,结果一调用invalidate就没了,这是为何,然后拖一拖又回来了
然后
如何改变鼠标为自己导入的位图
目的是在mosemove函数中调用到, 想做到一个移动到某个区域时鼠标变成其它形状
展开
 我来答
weiyinwu
2010-05-24 · TA获得超过1540个赞
知道小有建树答主
回答量:1057
采纳率:50%
帮助的人:1146万
展开全部
1.基于对话框的背景图,要将画法都写在OnPaint()中。
Invalidate()该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,调用Invalidate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。如果要立即重画,用UpdateWindow( ).调用UpdateWindow函数可使WM_PAINT被直接发送到目标窗口,从而导致窗口立即重绘。
2.定义一个区域,当鼠标移动到该区域时使用SetCursor(AfxGetApp()->LoadCursor(图标ID));
当然首先要添加鼠标光标(Cursor)文件(*.cur)到工程中,然后需要为应用程序添加WM_SETCURSOR消息
用::SetCursor(AfxGetApp()->LoadCursor(图标ID));函数设置就可以了,该函数可以在任意处使用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式