emWin使用遇到的问题以及解决办法


问题一:在动态显示文本/数字的时候发现,显示对象闪烁

  分析及解决办法:窗口管理器的默认特性是向每个需要重绘的窗口发送一条WM_PAINT 消息。这会导致闪烁效果。为抑制这些‘每个窗口’的闪烁效果,可为重绘操作自动使用内存设备。方法为,在创建窗口时设置标记WM_CF_MEMDEV 、使用函数WM_SetCreateFlags() 设置默认创建标记, 或使用函数WM_EnableMemdev()。WM然后会将WM_PAINT 消息的输出重定向到内存设备中,执行实际显示时再一次性复制到显示器中。如果没有足够的内存存放整个窗口,会自动使用分段。内存设备只在WM_PAINT 消息发送之前在内部创建,在绘制操作完成后立即删除。

  a.WM_SetCreateFlags(WM_CF_MEMDEV);

  b.WM_EnableMemdev(hWin);    //hWin为需要使用内存设备的窗口句柄

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2024 CODEPRJ.COM