mfc中,create函数 后究竟是发送 WM_CREATE消息还是WM_PAINT消息?
窗口中没有图片等其他,那么就是无效客户区咯?如果这样的话,Create(NULL,"创建窗口")之后,会同时发出WM_CREATE跟WM_PAINT?...
窗口 中没有图片等其他 ,那 么 就是无效客户区咯?如果这样的话,Create(NULL,"创建窗口")之后,会同时发出WM_CREATE跟WM_PAINT?
展开
4个回答
展开全部
都发送,Create之后再Paint,每次刷新窗口之后都要调用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发出WM_CREATE,WM_PAINT是在发出WM_CREATE后由windows绘制机制发出的
更多追问追答
追问
不懂由windows绘制机制到底是什么啊,WM_PAINT发出总有个根据吧,到底是执行到哪个代码哪个函数时发出的呢?
究竟在什么条件下发出呢?
追答
窗口创建时,windows发出WM_PAINT
窗口最大化时,windows发出WM_PAINT
窗口由被遮盖变成放到最顶端时,windows发出WM_PAINT
等等。
类似的,
当窗口被关闭时,windows发出WM_DESTROY,
当支持拖拽的窗口中进入拖拽文件时候,windows发出WM_???(这个忘记了)。
当鼠标进入窗口范围,window发出WM_MOUSEIN??(这个也忘记了)。
当当前窗口激活,且键盘按下,windows发出WM_KEYDOWN和WM_KEYPRESS。
等等等等。
事实上,所有的消息都由windows发送,当然也可以在程序中自己发一个消息。消息堆栈由windows控制,开发人员只需要在switch(WM)下写相应的方法就行了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WM_PAINT 消息只有在窗口客户区无效时才会被发送
更多追问追答
追问
create创建一个窗口 showwindow显示,窗口是白色的,这个时候又不是无效,但不也还是会发送WM_PAINT
追答
你刚开始显示一个窗口不发送一个WM_PAINT消息怎么显示窗口呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询