打印
[STM32F1]

关于STEWMIN一些问题,求大神指点下

[复制链接]
856|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hclwj181|  楼主 | 2020-5-19 13:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, TE, se, TI, ui
  
       最近学习EMWIN碰到了不少问题,求大神指点一下。
第一个:
case ID_BUTTON_0: // Notifications sent by 'Button'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
                                     GUI_SetColor(GUI_BLACK);                                //ÉèÖÃÑÕɫΪºÚÉ«
                                                GUI_SetFont(&GUI_Font16B_ASCII);       
                                                GUI_DispStringAt("123456",240,60);
        break;
回调函数里面执行了  GUI_SetColor(GUI_BLACK);                                //ÉèÖÃÑÕɫΪºÚÉ«
                                                GUI_SetFont(&GUI_Font16B_ASCII);       
                                                GUI_DispStringAt("123456",240,60);
这段代码没有显示,经分析被FRAMEWIN挡住了,怎么样才能使用类似这样的函数,并让它显示出来

2,多界面切换问题
我目前是使用
GUI_EndDialog(pMsg->hWin, 0);//销毁界面1
GUI_CreateDialogBox(_aDialogCreate2, GUI_COUNTOF(_aDialogCreate2),_cbDialog2, WM_HBKWIN, 0, 0); //创建2
类似这种方法实现,请问大神们一般是用什么方式实现了


使用特权

评论回复
沙发
纪国圣| | 2020-5-20 15:52 | 只看该作者
问题一:可以使用TEXT控件显示文本。
问题二:可以使用show/hide来显示隐藏画面。防止创建画面时内存不够导致创建画面失败。

使用特权

评论回复
板凳
dongnanxibei| | 2020-5-20 23:36 | 只看该作者
楼上高人啊,膜拜。

使用特权

评论回复
地板
hclwj181|  楼主 | 2020-5-21 11:13 | 只看该作者
纪国圣 发表于 2020-5-20 15:52
问题一:可以使用TEXT控件显示文本。
问题二:可以使用show/hide来显示隐藏画面。防止创建画面时内存不够导致 ...

再请教一下,问题1:我只是打个比方,不使用控件能不能直接在上面显示,例如:置位最上层显示之类的方法

使用特权

评论回复
5
纪国圣| | 2020-5-21 15:29 | 只看该作者
hclwj181 发表于 2020-5-21 11:13
再请教一下,问题1:我只是打个比方,不使用控件能不能直接在上面显示,例如:置位最上层显示之类的方法 ...

在static void _cbDialog(WH_MESSAGE *pMsg)函数中寻找switch(pMsg->MsgId),并添加 case WH_PAINT:在此添加字符显示函数即可。在main函数的while(1)中,也可以是其他地方添加WM_Paint()函数即可。WM_Paint()会调用WH_PAINT中的字符显示函数,从而在窗体显示字符。官方例程WIDGET_FrameWin.c也可以参考一下。

使用特权

评论回复
6
hclwj181|  楼主 | 2020-5-21 16:23 | 只看该作者
纪国圣 发表于 2020-5-21 15:29
在static void _cbDialog(WH_MESSAGE *pMsg)函数中寻找switch(pMsg->MsgId),并添加 case WH_PAINT:在此 ...

再请教下,最近学习,又碰到一个奇怪的问题,就是初始化的时候使用GUI_Clear();刷屏还算表较快,但是跑到Framewin界面时候,慢得要死,虽然我使用103跑800*480的屏是有点儿慢,但是明显GUI_Clear();刷屏会快很多,是什么原因了

使用特权

评论回复
评论
程序员阳仔 2020-6-2 16:47 回复TA
@hclwj181 :是不是画点函数的问题 
程序员阳仔 2020-6-2 16:46 回复TA
@hclwj181 :你这个比我的还慢,我的是开启存储设备之后刷屏需要2s 
hclwj181 2020-5-22 09:40 回复TA
@程序员阳仔 :大概10几秒才能刷完,GUI_Clear();大概3s就刷完了,我跑官网演示例程GUIDEMO感觉也还算比较快,不知道为啥用Guibuilder建的界面刷屏这么迟缓。 
程序员阳仔 2020-5-21 17:00 回复TA
额,要多久呢 
7
hclwj181|  楼主 | 2020-5-21 16:25 | 只看该作者
纪国圣 发表于 2020-5-21 15:29
在static void _cbDialog(WH_MESSAGE *pMsg)函数中寻找switch(pMsg->MsgId),并添加 case WH_PAINT:在此 ...

刚刚接触EMWIN不久,初学者问题有点儿多,希望多多包涵下

使用特权

评论回复
8
hclwj181|  楼主 | 2020-5-21 16:34 | 只看该作者
问问大侠们,有什么可以提升的资料,最近学习了原子的手册,感觉现在就入了个门,依靠GuiBuilder能做一些简单的界面,基本的小工具对着网上资料基本能用,但是我看别人很多网上写例程都不是用GuiBuilder类似的结构写的界面。感觉无法深入

使用特权

评论回复
评论
程序员阳仔 2020-5-21 17:02 回复TA
看看安富莱的项目,智能家居,atm取款机啥的, 
9
allennhx| | 2020-5-21 16:39 | 只看该作者
看不懂呢

使用特权

评论回复
10
Jerry.huang| | 2020-5-21 18:10 | 只看该作者

使用特权

评论回复
11
纪国圣| | 2020-5-22 08:39 | 只看该作者
hclwj181 发表于 2020-5-21 16:23
再请教下,最近学习,又碰到一个奇怪的问题,就是初始化的时候使用GUI_Clear();刷屏还算表较快,但是跑到 ...

这个牵涉面很广了,有可能用户程序部分处理不好,也有可能官方程序机制不允许这样。一般有控件的界面我是不用GUI_Clear()。不明白为何在有控件的界面使用GUI_Clear()。
至于想提高,可以多看看官方例程。

使用特权

评论回复
12
hclwj181|  楼主 | 2020-5-22 09:32 | 只看该作者
纪国圣 发表于 2020-5-22 08:39
这个牵涉面很广了,有可能用户程序部分处理不好,也有可能官方程序机制不允许这样。一般有控件的界面我是 ...

只是初始化的时候使用的GUI_Clear()清的屏,进入界面之后,没有了,初始化的时候清屏还算比较快,Guibuilder界面慢慢刷出来,感觉慢了3倍左右

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

720

帖子

9

粉丝