OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5143|回复: 14

emwin子界面点击任何地方会回到主界面

[复制链接]

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
发表于 2016-8-22 11:56:28 | 显示全部楼层 |阅读模式
5金钱
  我用emwin做一个主界面A,A中主要有6个button,各自生成子界面,在PC模拟器上面写完后,运行可以的。但是移到单片机后,出现了这样的情况:
触发按钮后,生成子界面,然后触摸子界面上面的小控件,会直接回到主界面A,且测试了直接触发子界面任何地方都会回到主界面A。
每个节面也都设置聚焦了。

  单片机工程是直接用的原子F407的emwin无系统版本,我只是把模拟器上面写好的.c文件放入工程。

  是不是我的界面处理方面有问题,虽说子界面按了原主界面A区域部分是可以直接返回的,但是为何按了子界面自身有效区域内部,还会直接回到A?


000000.jpg

mytask.zip

12.36 KB, 下载次数: 458

最佳答案

查看完整内容[请看2#楼]

首先,问题给你解决了,但是你的提问方法有问题。这种提问方法基本上是不会有人来回答的。为什么呢?原因如下: 你这个错误明显都是一类的,你完全可以把代码先删减一下在发上来,而不是把整个文件发上来,整个文件一千多行代码啊,见下图: 说实话没有谁愿意去看一千多行没有注释的代码,花了点时间把你的代码删减到了200行,然后在找问题。比看1000多行好多了,但是删减代码的这个过程本应该是楼主自己完 ...
驽马十驾,功在不舍!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-8-22 11:56:29 | 显示全部楼层
    首先,问题给你解决了,但是你的提问方法有问题。这种提问方法基本上是不会有人来回答的。为什么呢?原因如下:      
你这个错误明显都是一类的,你完全可以把代码先删减一下在发上来,而不是把整个文件发上来,整个文件一千多行代码啊,见下图:

`{F(G[4H])V{ZLR754(5UNS.png

    说实话没有谁愿意去看一千多行没有注释的代码,花了点时间把你的代码删减到了200行,然后在找问题。比看1000多行好多了,但是删减代码的这个过程本应该是楼主自己完成的。论坛里面有很多网友都是把自己的代码发上来,让别人给看,这种提问方法的效率极低,几乎不会的到解决的。
    这里并不是批评楼主,只是这种现象太多了,至于怎么有效的提问,可以在本论坛搜索一下提问的智慧:http://www.openedv.com/forum.php?mod=viewthread&tid=7245&highlight=%CC%E1%CE%CA%2B%D6%C7%BB%DB

lcdtask.rar (2.9 MB, 下载次数: 304)
开往春天的手扶拖拉机
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-8-22 23:55:53 | 显示全部楼层
本帖最后由 numajinfei 于 2016-8-23 00:28 编辑

@zuozhongkai 恩,不好意思,白天的提问不太恰当,多谢指正,晚上自己也想缩减下,再发,后来有事耽搁了,在此表示抱歉。多谢zuozhongkai的耐心指点,谢谢
驽马十驾,功在不舍!
回复

使用道具 举报

35

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
769
金钱
769
注册时间
2016-3-17
在线时间
178 小时
发表于 2016-9-6 08:55:22 | 显示全部楼层
请问楼主,1,在从主界面点击button进入子界面时还用不用删除原来的主界面窗口啊?
                  2,怎么设置从子界面返回主界面啊?    谢谢
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-9-6 09:56:46 | 显示全部楼层
请问楼主的汉字是如何显示在按键这类控件上的?希望楼主能够指导一下,感激不尽!
Try again and there is nothing left to say.
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-9-6 15:01:18 | 显示全部楼层
JueSe 发表于 2016-9-6 08:55
请问楼主,1,在从主界面点击button进入子界面时还用不用删除原来的主界面窗口啊?
                  2, ...

1、你可以选择删除也可以选择不删除;
2、1中如果删除,则返回时需要重新生成主界面;如果不删除,则在主界面回调中删除子界面即可
驽马十驾,功在不舍!
回复

使用道具 举报

35

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
769
金钱
769
注册时间
2016-3-17
在线时间
178 小时
发表于 2016-9-6 15:07:37 | 显示全部楼层
numajinfei 发表于 2016-9-6 15:01
1、你可以选择删除也可以选择不删除;
2、1中如果删除,则返回时需要重新生成主界面;如果不删除,则在 ...

那么在子界面的回调函数中具体通过哪一个函数操作返回主界面啊?
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-9-6 15:09:54 | 显示全部楼层
墨黥天 发表于 2016-9-6 09:56
请问楼主的汉字是如何显示在按键这类控件上的?希望楼主能够指导一下,感激不尽!

在生成按钮时可以设置按钮上字体格式和内容,可以参看下我上面的代码(有点长,只看按钮部分即可)。当然汉字还有其他方式,具体可参看原子emwin文档手册
驽马十驾,功在不舍!
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-9-6 15:14:06 | 显示全部楼层
JueSe 发表于 2016-9-6 15:07
那么在子界面的回调函数中具体通过哪一个函数操作返回主界面啊?

是在主界面的回调中删除操作的,你可以直接把上面代码lcdtask.c/h+myfont.c/h加入模拟器,这样就直白了
驽马十驾,功在不舍!
回复

使用道具 举报

35

主题

172

帖子

0

精华

高级会员

Rank: 4

积分
769
金钱
769
注册时间
2016-3-17
在线时间
178 小时
发表于 2016-9-6 15:22:48 | 显示全部楼层
numajinfei 发表于 2016-9-6 15:14
是在主界面的回调中删除操作的,你可以直接把上面代码lcdtask.c/h+myfont.c/h加入模拟器,这样就直白了

才刚接触EMWIN,深一点的就不懂啦。我在主界面中通过BUTTON按钮进入子界面,在子界面中再通过BUTTON返回主界面,当来回操作3次后,程序就卡死啦?(在调用的时候都没有删除原来的窗口)
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-9-7 08:44:03 | 显示全部楼层
numajinfei 发表于 2016-9-6 15:14
是在主界面的回调中删除操作的,你可以直接把上面代码lcdtask.c/h+myfont.c/h加入模拟器,这样就直白了

请问需要如何加入模拟器?加入哪个模拟器呢?我只用过Visual Studio直接打开.sln的仿真文件。没有直接用.c和.h组合仿真。希望大哥能指点一二。
Try again and there is nothing left to say.
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-9-7 09:20:32 | 显示全部楼层
我也遇到了和楼主一样的情况,创建的子界面按下任意区域都会退出。
出现这种情况的原因是什么呢?楼主能不能详细解答一下。非常感谢!
Try again and there is nothing left to say.
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-9-14 14:14:49 | 显示全部楼层
JueSe 发表于 2016-9-6 15:22
才刚接触EMWIN,深一点的就不懂啦。我在主界面中通过BUTTON按钮进入子界面,在子界面中再通过BUTTON返回 ...

1、看下stack开启是否足够
2、你的界面返回,是删除了还是只是退出?只是退出的话,还是占着空间的
驽马十驾,功在不舍!
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-9-14 14:16:12 | 显示全部楼层
墨黥天 发表于 2016-9-7 08:44
请问需要如何加入模拟器?加入哪个模拟器呢?我只用过Visual Studio直接打开.sln的仿真文件。没有直接用. ...

就是用模拟器的.sln工程,然后添加.c,.h,使能新加文件,失能原工程的有效.c文件即可
驽马十驾,功在不舍!
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2015-9-6
在线时间
31 小时
 楼主| 发表于 2016-9-14 14:17:10 | 显示全部楼层
墨黥天 发表于 2016-9-7 09:20
我也遇到了和楼主一样的情况,创建的子界面按下任意区域都会退出。
出现这种情况的原因是什么呢?楼主能不 ...

上面zuozhongkai的工程已帮解决了,可以参考下
驽马十驾,功在不舍!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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