1

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

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

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

4

1 回答 1

3

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

于 2012-05-14T10:47:26.340 回答