标题:获取combobox 的索引值时,索引值重复出现现象。
只看楼主
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
结帖率:100%
已结贴  问题点数:20 回复次数:4 
获取combobox 的索引值时,索引值重复出现现象。
下列代码简写,只写主体:
void init()//初始化
{
    ...
     drop_down_list = CreateWindow(_T("combobox"), NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS,
       190, 20, 80, 100, hWnd, (HMENU)DROP_DOWN_LIST, hInstance, NULL);

       SendMessage(drop_down_list, CB_ADDSTRING, 0, (LPARAM)_T("圆"));
       SendMessage(drop_down_list, CB_ADDSTRING, 0, (LPARAM)_T("椭圆"));
        ....
}

LRESULT CALLBACK WndProc(....)
{
    ...
    case DROP_DOWN_LIST:
    {
        //获取点击项的索引值
        int idx = SendMessage(drop_down_list, CB_GETCURSEL, 0, 0);
    AllocConsole();
    freopen("conout$", "w", stdout);
    cout << idx << endl;
        break;
    }
}
结果:

问题:为什么点击时会调用这个消息好几次。导致重复刷idx 5次。
搜索更多相关主题的帖子: 获取 combobox 索引 重复 现象 
2017-07-23 15:45
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
DROP_DOWN_LIST 是什么东西?
2017-07-24 10:21
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
得分:0 
回复 楼主 man94ht
在创建下拉列表句柄的时候有的那个东西。     我用错了吗?那该怎么做
2017-07-24 15:49
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
怎么会在DROP_DOWN_LIST下面读索引呢?一般来说是点中某个按钮的时候读取啊。
2017-07-24 17:58
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
得分:0 
回复 4楼 yangfrancis
那个按钮的值我不知道。。。刚写就靠感觉写。东拼西凑的。    能告诉我点击的那个值是怎么弄吗?我点击DROP_DOWN_LIST是有问题的。就是重复回调好几次。我也不知道谁回调的它。
2017-07-26 18:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479569-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.076281 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved