完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
怎么运用emwin把显示屏分为上下两个窗口,可以实现上下窗口分别可以左右滑动?
|
|
相关推荐
1个回答
|
|
要使用emWin实现一个显示屏分为上下两个窗口,并且每个窗口都可以左右滑动,可以按照以下步骤进行:
1. 初始化emWin库:首先,确保你的项目已经正确地集成了emWin库。在项目中包含必要的头文件,并在程序开始时调用 `GUI_Init()` 函数进行初始化。 2. 创建两个窗口:使用 `GUI_CreateDialogBox()` 函数创建两个窗口。一个作为主窗口,另一个作为子窗口。主窗口将包含两个子窗口,分别作为上下两个滑动窗口。 ```c WM_HWIN hMainWin; hMainWin = GUI_CreateDialogBox(0, 0, LCD_GetXSize(), LCD_GetYSize(), 0, NULL, NULL); ``` 3. 创建滑动条:在每个子窗口中创建一个滑动条,用于控制左右滑动。使用 `GUI_CreateSlider() `函数创建滑动条,并设置其属性。 ```c WM_HWIN hSlider1, hSlider2; hSlider1 = GUI_CreateSlider(0, 0, 100, 20, WM_CF_HORIZONTAL, 0, 0, GUI_ID_H_SLIDER1, WM_CALLBACK_NULL); hSlider2 = GUI_CreateSlider(0, 0, 100, 20, WM_CF_HORIZONTAL, 0, 0, GUI_ID_H_SLIDER2, WM_CALLBACK_NULL); ``` 4. 将滑动条添加到子窗口:使用 `GUI_AddChildWindow() `函数将滑动条添加到相应的子窗口中。 ```c GUI_AttachSlider(hSlider1, hMainWin, WM_CF_SHOW); GUI_AttachSlider(hSlider2, hMainWin, WM_CF_SHOW); ``` 5. 设置子窗口布局:使用 `GUI_SetBkColor()` 函数为子窗口设置背景颜色,以区分上下两个窗口。然后,使用 `GUI_ClearRectEx()` 函数清除子窗口的背景。 ```c GUI_SetBkColor(GUI_RED); GUI_ClearRectEx(hMainWin); ``` 6. 实现滑动逻辑:为滑动条设置回调函数,以便在用户操作滑动条时更新子窗口的内容。在回调函数中,根据滑动条的当前值调整子窗口中显示的内容。 ```c void _CallbackH(void * p) { int v; v = GUI_Slider_GetVal((WM_HWIN)p); // 根据滑动条的值更新子窗口内容 } ``` 7. 显示窗口:最后,使用 `GUI_ExecDialogBox()` 函数显示窗口,以便用户与之交互。 ```c GUI_ExecDialogBox(hMainWin, WM_HBKWIN, 0, 0); ``` 通过以上步骤,你可以实现一个显示屏分为上下两个窗口,并且每个窗口都可以左右滑动的界面。需要注意的是,这里的代码只是一个示例,你可能需要根据你的具体需求进行调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1683 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1582 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1627 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
675浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
538浏览 3评论
558浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
526浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 03:33 , Processed in 0.904361 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号