OpenEdv-开源电子网

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

一对父子窗口,只想删除子窗口,但是总是同时删除两个窗口

[复制链接]

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
发表于 2014-11-26 18:32:41 | 显示全部楼层 |阅读模式
5金钱
win2是win1的子窗口,都是对话框的形式,通过物理按键来控制切换和输入

win1上按到确定键后会弹出win2,弹出来win2后,如果按取消键那么就会删除win2

但是,我按了取消键后,win1和win2都被删除了,手册上说WM_KEY消息会发送给所有具有焦点的窗口

所以我分析就是因为这个原因才把两个窗口都删了,那如何才能只删除子窗口,保留父窗口?

最佳答案

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

是我的 键盘驱动那块,在GUI_SendMsg的时候,按下和松开各发送了一次消息。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-26 18:32:42 | 显示全部楼层
是我的 键盘驱动那块,在GUI_SendMsg的时候,按下和松开各发送了一次消息。。。。
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-11-26 22:50:22 | 显示全部楼层
你的逻辑是通常使用的方式,猜测是代码问题。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-11-26 22:50:28 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-27 09:21:05 | 显示全部楼层
回复【2楼】styleno1:
---------------------------------
意思就是弹出来子窗口后,按取消键就只会删除子窗口对吧,我用的是实体按键。而且取消键并不是一个button什么的,只是一个指定的按键
回复

使用道具 举报

10

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2013-12-3
在线时间
0 小时
发表于 2014-11-27 09:47:27 | 显示全部楼层
回复【4楼】L00p:
---------------------------------
可以尝试用 设置焦点函数设置到子窗口上或者用WM_MakeModal函数来锁定输入焦点试试。
看手册里应该实例介绍吧。
不用谢了……
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-27 09:51:44 | 显示全部楼层
回复【5楼】eling13:
---------------------------------
设置到了子窗口上了,不行,父窗口依旧会接收到,模态也试过了,不行。。。。
回复

使用道具 举报

10

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2013-12-3
在线时间
0 小时
发表于 2014-11-27 09:52:56 | 显示全部楼层
回复【4楼】L00p:
---------------------------------
而且你确定你的代码里,win2的确是win1的子窗口,没错?
不用谢了……
回复

使用道具 举报

28

主题

89

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2014-9-30
在线时间
0 小时
 楼主| 发表于 2014-11-27 10:06:24 | 显示全部楼层
回复【7楼】eling13:
---------------------------------
是的,如果是模态,是把父窗口设置为模态还是子窗口设置为模态
回复

使用道具 举报

10

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2013-12-3
在线时间
0 小时
发表于 2014-11-27 10:07:37 | 显示全部楼层
回复【8楼】L00p:
---------------------------------
弹出子窗口后,子窗口设置为模态; 
删除子窗口后,设置父窗口为模态;
如果弹出子窗口后,父窗口还是模态,删除键肯定要删除父的 ,这样两个都要被删除了。
不用谢了……
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-11-30 10:45:53 | 显示全部楼层
回复【9楼】eling13:
---------------------------------
求问,什么是模态
回复

使用道具 举报

10

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2013-12-3
在线时间
0 小时
发表于 2014-12-3 08:24:05 | 显示全部楼层
回复【10楼】kassandra:
---------------------------------
数据手册有这个函数 可以看下里面的介绍
不用谢了……
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 09:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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