硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3576|回复: 4
收起左侧

[emWin] 请教EMWIN存储设备问题

[复制链接]

8

主题

26

回帖

50

积分

初级会员

积分
50
发表于 2016-1-27 16:35:43 | 显示全部楼层 |阅读模式
    NumFreeBytes = GUI_ALLOC_GetNumFreeBytes();
    hMem1 = GUI_MEMDEV_CreateEx(0,0,800,480,GUI_MEMDEV_NOTRANS);
    NumFreeBytes = GUI_ALLOC_GetNumFreeBytes();
    hMem2 = GUI_MEMDEV_CreateEx(0,0,800,480,GUI_MEMDEV_NOTRANS);
    NumFreeBytes = GUI_ALLOC_GetNumFreeBytes();
    hMem3 = GUI_MEMDEV_CreateEx(0,0,800,480,GUI_MEMDEV_NOTRANS);
    NumFreeBytes = GUI_ALLOC_GetNumFreeBytes();
   

      GUI_MEMDEV_Select(hMem1);
   hWin1 = GUI_CreateDialogBox(_aDialogCreate1, GUI_COUNTOF(_aDialogCreate1), &_cbDialog1, WM_HBKWIN, 0, 0);
     


     GUI_MEMDEV_Select(hMem2);
  hWin2 = GUI_CreateDialogBox(_aDialogCreate2, GUI_COUNTOF(_aDialogCreate2), &_cbDialog2, WM_HBKWIN, 0, 0);

     

    GUI_MEMDEV_Select(hMem3);
  hWin3 = GUI_CreateDialogBox(_aDialogCreate3, GUI_COUNTOF(_aDialogCreate3), &_cbDialog3, WM_HBKWIN, 0, 0);

我是想这样先把三个界面的内容都写到存储设备里面,然后通过    GUI_MEMDEV_Select(0);

    GUI_MEMDEV_CopyToLCD(hMem1);
    GUI_Exec();
进行界面切换,我这样的方式总是不行,有没有什么方法可以实现我的思路,就是初始化的时候把三个界面的内容都写入到存储设备里面,然后再程序中直接切换显示。谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106851
QQ
发表于 2016-1-28 01:04:52 | 显示全部楼层
绘制对话框速度很快的,不需要放到内存设备。直接调用窗口的隐藏和显示功能切换就行。
回复

使用道具 举报

8

主题

26

回帖

50

积分

初级会员

积分
50
 楼主| 发表于 2016-1-29 14:42:53 | 显示全部楼层
请问怎么操作隐藏和显示,我看文档找不到合适的方法,请指教一下,谢谢
回复

使用道具 举报

8

主题

26

回帖

50

积分

初级会员

积分
50
 楼主| 发表于 2016-1-29 16:13:14 | 显示全部楼层
hWin1 =WM_CreateWindow(0, 0, 800, 480, WM_CF_SHOW|WM_CF_MEMDEV, _cbWindow1, 0);
hWin2 =WM_CreateWindow(0, 0, 800, 480, WM_CF_HIDE|WM_CF_MEMDEV, _cbWindow2, 0);   
hWin3 =WM_CreateWindow(0, 0, 800, 480, WM_CF_HIDE|WM_CF_MEMDEV, _cbWindow3, 0);

然后比如要现实hwin2 我就如下代码但没有用:
WM_InvalidateWindow(hWin1);
     WM_ShowWindow(hWin2);
    WM_Exec();

不知道正确的方式应该是什么样的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106851
QQ
发表于 2016-1-29 17:16:09 | 显示全部楼层

回 szmotion 的帖子

szmotion:hWin1 =WM_CreateWindow(0, 0, 800, 480, WM_CF_SHOW|WM_CF_MEMDEV, _cbWindow1, 0);
hWin2 =WM_CreateWindow(0, 0, 800, 480, WM_CF_HIDE|WM_CF_MEMDEV, _cbWindow2, 0);    
hWin3 =WM_CreateWindow(0, 0, 800, 480, WM_CF_HIDE|WM_CF_MEMDEV, _cbWindow3,  .. (2016-01-29 16:13) 
WM_HideWindow和 WM_ShowWindow
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-7 14:37 , Processed in 0.199620 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表