【问题标题】:get selected item text when it's changed in a drop down combo box在下拉组合框中更改时获取选定的项目文本
【发布时间】:2012-05-14 10:32:19
【问题描述】:

我创建了一个包含两个项目的简单下拉组合框,它是工具栏上的一个子窗口。 选择一个项目时,我想获取所选项目的文本。我在组合框上使用了 Spy++,但没有找到有用的消息来执行此操作。所以我将消息 CBN_SELCHANGE 用于工具栏的窗口过程。它看起来像:

if (CBN_SELCHANGE == HIWORD(wParam))
    GetText(....)

但问题是:假设这两项分别是“first”和“second”,并且“first”已经被选中。 当我选择“第二”时,GetText 得到的文本仍然是“第一”。我发现在 CBN_SELCHANGE 消息发生时调用 GetText 为时过早。但是我找不到调用 GetText 的好点。

【问题讨论】:

    标签: winapi


    【解决方案1】:

    在确定当前选择后,不要调用GetWindowText,而是使用消息CB_GETLBTEXT(例如使用CB_GETCURSEL)。

    【讨论】:

      猜你喜欢
      • 2012-05-05
      • 2011-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多