问个SDK问题,不知道改归到哪类,请路过的达人给个说法。 鼠标经过客户区会发出WM_PAINT消息吗?在WM_PAINT的处理过程中插入Beep函数,当鼠标在客户区内移动时仍可听到声音。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会响,你们怎么听到的?你的鼠标移动是不是也加Beep了 不会,除非你有activewindow的动作,如果只是鼠标划过是不会重绘的。 对于鼠标覆盖的客户区部分,Windows不会发出WM_PAINT消息,而是记住被覆盖的部分,然后自己重绘,因为鼠标覆盖的范围本来就很小,并且它也会不停的在客户区移动,如果每移动一下都给客户区发WM_PAINT消息,想象程序的性能会将到什么样。 WM_PAINT的响应函数是CWnd::OnPaint ,看看MSDN对这个函数的解释当Windows或应用程序请求重画应用程序窗口的一部分时,框架调用这个成员函数。WM_PAINT在调用UpdateWindow或RedrawWindow成员函数时发出。当设置了RDW_INTERNALPAINT标志并调用RedrawWindow成员函数时,窗口可能会接收到内部重画消息。 在这种情况下,窗口可能没有更新区域。应用程序必须调用GetUpdateRect成员函数以确定窗口是否具有更新区域。如果GetUpdateRect返回0,则应用程序不应调用BeginPaint和EndPaint成员函数。 应用程序负责检查是否需要内部重画或更新,这可通过查看每条WM_PAINT消息的内部数据结构来完成,因为一条WM_PAINT可能是由于一个无效区域或由于使用RDW_INTERNALPAINT标志调用了RedrawWindow成员函数而引起的。 Windows只发送一次内部WM_PAINT消息。在通过UpdateWindow成员函数向窗口发送了内部WM_PAINT消息以后,将不会再向窗口发送其它WM_PAINT消息,直到再次使用RDW_INTERNALPAINT标志调用了RedrawWindow成员函数。 一求和的简单程序。 在VC++中如何调用Linux下的shell程序 再activex控件中使用ccombobox中出现的问题! 行中有错误,受限的数据类型属性破坏 兄弟生日 DirectShow 播放DVD ?没有MPEG2的解码器? 如何改变ComboBox的下拉按钮的颜色? 如何用socket发送和接收自定义数据包?求源代码 请问如何创建IIS的虚拟目录啊? POP3中如何通知服务器不要再发送数据? 从开始到熟练使用VC,要多长时间? 创建一个文件,然后将几个字符串累加的写到一个文件中,该怎么做?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货