硬汉嵌入式论坛

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

[emWin] DROPDOWN的收起列表问题

[复制链接]

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
发表于 2017-4-24 14:49:51 | 显示全部楼层 |阅读模式
在使用DROPDOWN时,有时只是想看一下列表里面都有哪些选项,而不想修改当前的选择。
在这种情况下,在打开DROPDOWN列表时,然后再列表框外部任意触控一下,就要将列表收起来。
这个效果要怎么实现呀?
我看了下文档,貌似只有WM_NOTIFICATION_MOVED_OUT这个消息比较合适。
但我好像发现,在列表打开时,不触控别的控件,只触摸空白区域时,DROPDOWN检测不到任何消息啊。
像有些windowns里面的下拉列表,拉开后,只要再在空白区域单击一下就能收起来了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-4-24 16:59:03 | 显示全部楼层
多试试。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2017-4-24 23:11:00 | 显示全部楼层

回 eric2013 的帖子

eric2013:多试试。 (2017-04-24 16:59) 
是能达到这种效果的?
回复

使用道具 举报

9

主题

42

回帖

69

积分

初级会员

大牛的形成也是时间与技术的积累

积分
69
QQ
发表于 2017-4-25 09:13:10 | 显示全部楼层
你可以在背景窗体的WM_PID_STATE_CHANGED消息实现
case WM_PID_STATE_CHANGED: //非控件空白处            
            pInfo = ((const WM_PID_STATE_CHANGED_INFO *)pMsg->Data.p);
            if(pInfo->State > 0)
            {
                hAPPOnTop = hAPPLinkedList_GetAppTop();
                if(hAPPOnTop->hAPP != WM_GetParent(WM_GetParent(pMsg->hWin)))
                {
                    WM_SendMessageNoPara(hAPPOnTop->hAPP, POPMENU_ROLLUP);   //发消息给DROPDOWN控件,用以收起
                }
           }
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2017-4-25 09:34:27 | 显示全部楼层

回 costar 的帖子

costar:你可以在背景窗体的WM_PID_STATE_CHANGED消息实现
case WM_PID_STATE_CHANGED: //非控件空白处            
            pInfo = ((const WM_PID_STAT .. (2017-04-25 09:13) 
hAPPLinkedList_GetAppTop()这玩意是什么?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 00:30 , Processed in 0.274741 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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