- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32-V5 开发板 STemW in 教程
STM32-V5 开发板 STemW in 教程
第35章 窗口管理器实例 (二 )
为了帮助大家更好的理解窗口管理器的回调和消息机制,本期教程专门做了三个相关的例子,这三个例
子全部来自官方。
35. 1 官方 WM_Sample.c 实例
35. 2 官方 WM_LateClipping.c 实例
35. 3 官方 WM_Video 实例
35. 4 总结
35.1 官方 WM_Sample.c 实例
这个实例基本演示了大部分 WM 的 API 函数,这 DEMO 的所在位置是:
这个代码的内容比较多,这里捡几个重要的部分跟大家讲解一下。
第 1 页 共 16 页
第 1 页 共 16 页
STM32-V5 开发板 STemW in 教程
STM32-V5 开发板 STemW in 教程
35.1.1 桌面窗口回调函数
#define MSG_CHANGE_TEXT (WM_USER + 0) (1)
/*******************************************************************
*
* _ChangeInfoText
*
* Function description
* Sends a message to the background window and invalidate it, so
* the callback of the background window display the new text.
*/
static void _ChangeInfoText(char * pStr) { (2)
WM_MESSAGE Message;
Message.MsgId = MSG_CHANGE_TEXT;
Message.Data.p = pStr;
WM_SendMessage(WM_HBKWIN, Message);
WM_InvalidateWindow(WM_HBKWIN);
}
/*******************************************************************
*
* _DrawInfoText
*
* Function description
* Drawes the info text directly on the display. This function is for
* the moments when no callback is set.
*/
static void _DrawInfoText(char * pStr) { (3)
GUI_SetColor(GUI_WHITE);
GUI_SetFont(GUI_Font24_ASCII);
GUI_DispStringHCenterAt(WindowManager - Sample, 160, 5);
GUI_SetFont(GUI_Font8x16);
GUI_DispStringAtCEOL(p
文档评论(0)