硬汉嵌入式论坛

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

[emWin] 对话框中只有多个WINDOW,焦点会落到哪儿?

[复制链接]

6

主题

19

回帖

37

积分

新手上路

积分
37
发表于 2015-8-28 17:02:50 | 显示全部楼层 |阅读模式
对话框用资源表创建,里面只放WINDOW,WINDOW都设置了回调函数,但是键盘消息都没收到,这是不是说明这样的对话框不能接收焦点??
  1. static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  2.   { WINDOW_CreateIndirect, "ClientWindow", ID_WINDOW_0, 0, 0, 800, 480,  0, 0x0,  0},
  3.   { WINDOW_CreateIndirect, "MapWin",       ID_WINDOW_1, 0, 40, 800, 440, 0, 0x0,  0},
  4.   { WINDOW_CreateIndirect, "TitleWin",     ID_WINDOW_2, 0, 0,  800, 40,  0,  0x0, 0}
  5. };
复制代码
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115694
QQ
发表于 2015-8-28 23:02:27 | 显示全部楼层
是的。

1.jpg
回复

使用道具 举报

6

主题

19

回帖

37

积分

新手上路

积分
37
 楼主| 发表于 2015-8-29 10:10:31 | 显示全部楼层

回 eric2013 的帖子

eric2013:是的。




....... (2015-08-28 23:02) 
我现在其他窗口都是含有WIDGET的对话框,只有这个窗口是单个的WINDOW。结果每次切换窗口的时候用BringToTop不行,现在暂且用的HideWindow把所有不显示的全隐藏。貌似是窗口属性不同所以不能通过BringToTop切换,请问你知道有什么方法可以让窗口切换简单点儿
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115694
QQ
发表于 2015-8-30 09:45:46 | 显示全部楼层
可以,BringToTop就是针对窗口的,你的这个函数使用的参数是不是对话框的参数,用这个函数获取一下客户区WM_GetClientWindow(),参数添加对话框句柄。
WM_BringToTop(WM_GetClientWindow(对话框句柄))
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-13 01:11 , Processed in 0.295124 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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