在下拉组合框中更改选定的项目文本

时间:2012-05-14 10:32:20

标签: winapi

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

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

但问题是:假设两个项目是“第一个”和“第二个”,并且已经选择了“第一个”。 当我选择“秒”时,GetText获取的文本仍然是“第一个”。我发现在发生CBN_SELCHANGE消息时调用GetText为时尚早。但我找不到一个好的方法来调用GetText。

1 个答案:

答案 0 :(得分:3)

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