OpenEdv-开源电子网

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

使用DROPDOWN 下拉列表如何调用返回函数

[复制链接]

18

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-8-22
在线时间
82 小时
发表于 2016-2-18 13:30:45 | 显示全部楼层 |阅读模式
1金钱
如题  
子函数内  定义     int list_value ;

部分函数:

  case ID_DROPDOWN_0: // Notifications sent by 'Dropdown'
      switch(NCode) {
      case WM_NOTIFICATION_CLICKED:
        // USER START (Optionally insert code for reacting on notification message)
        // USER END
        break;
      case WM_NOTIFICATION_RELEASED:
        // USER START (Optionally insert code for reacting on notification message)                                
              hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0);
                         list_value = DROPDOWN_GetSel(hItem); //获取下拉列表信息
                switch(list_value)
                    {
                       case 1ED1  = ledon; break;
                     default: LED1  = ledoff;break;
                    }


        // USER END                  
        break;

目的是  当下拉列表选中第二个时  小灯亮,选择其他选项小灯灭  
  现象是  点第二个有反应     只不过 需要点中之后  还需要再点一次下拉列表才可以实现

请问 如何修改



最佳答案

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

问题解决了 但我还是有点不太明白 我将 hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0); list_value = DROPDOWN_GetSel(hItem); switch(list_value) { case 1ED1 = ledon; break; default: LED1 = ledoff;break; } 这一段 放在了 static void _cbDialog(WM_MESSAGE * pMsg) ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-8-22
在线时间
82 小时
 楼主| 发表于 2016-2-18 13:30:46 | 显示全部楼层
问题解决了 但我还是有点不太明白      
我将
hItem = WM_GetDialogItem(pMsg->hWin, ID_DROPDOWN_0);
        list_value = DROPDOWN_GetSel(hItem);
                switch(list_value)
                    {
                       case 1ED1  = ledon; break;
                         default: LED1  = ledoff;break;
                    }
这一段  
放在了
static void _cbDialog(WM_MESSAGE * pMsg)  子函数的最前面    串口打印的也对了
回复

使用道具 举报

18

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
419
金钱
419
注册时间
2015-8-22
在线时间
82 小时
 楼主| 发表于 2016-2-18 16:14:04 | 显示全部楼层
本帖最后由 ksi魔杰 于 2016-2-18 16:16 编辑

   我用串口打印出list_value的值和认为的值是一样的 (等我选择第二个的时候   确实输出的是 1)  不过是在 “再点一次下拉列表才可以实现“ 之后  值才变化的  (意思就是需要在操作一遍)
回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2016-2-19 08:52:12 | 显示全部楼层
以5.28为例,常使用SEL_CHANGED事件,然后根据值判定行为。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 18:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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