硬汉嵌入式论坛

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

[emWin] 在一个函数中一次性创建A B C 三个对话框 其中C的父窗是B,B的父是A

[复制链接]

30

主题

90

回帖

180

积分

初级会员

积分
180
发表于 2015-10-12 15:22:17 | 显示全部楼层 |阅读模式
在一个函数中一次性创建A B C 三个对话框 其中C的父窗是B,B的父是A,并隐藏B,C窗口。在A创建按键K1用于隐藏A,并显示B,在B创建按键K2用于弹出显示C.用实体件操作。定义一个为实体健TAB键,一个为实体健ENT键。系统上电后,K1有焦点,按ENT可以显示B,但是进入B后K2无焦点,按TAB键也无法得到焦点,请问K2如何得到焦点,大侠们帮看看哈,谢谢!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2015-10-12 18:57:54 | 显示全部楼层
显示子窗口时,设置下新的聚焦
WM_SetFocus();  参数是子窗口的句柄。
回复

使用道具 举报

30

主题

90

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2015-10-13 11:17:57 | 显示全部楼层
找到原因了,用WM_SetFocus()虽然可以设定到指定窗口的焦点,但是按下TAB键后焦急就会转移比如:在A窗口按TAB 焦点就有可能转到C窗口的控件上。
如果ABC三窗口为平行窗口,按TAB 键就不会受到影响,但是由于是按键触摸都可以用,所用C窗口弹出后,在B界面触摸后C界面就隐藏了。
不知大侠有解决的好方法没有,谢谢哈
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2015-10-14 20:12:10 | 显示全部楼层

回 sss3s 的帖子

sss3s:找到原因了,用WM_SetFocus()虽然可以设定到指定窗口的焦点,但是按下TAB键后焦急就会转移比如:在A窗口按TAB 焦点就有可能转到C窗口的控件上。
如果ABC三窗口为平行窗口,按TAB 键就不会受到影响,但是由于是按键触摸都可以用,所用C窗口弹出后,在B界面触摸后C界面就隐藏了。
不 .. (2015-10-13 11:17) 
设置一下模态,仅对当前窗口进行操作。
回复

使用道具 举报

30

主题

90

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2015-10-19 09:59:21 | 显示全部楼层
设置完模态后,还可以退回非模态不?因为界面是隐藏而非删除的。谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-16 10:21 , Processed in 0.040431 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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