2

我想更改组合框(c++、win32 api)的默认行为。当在其编辑控件中输入某些内容时,我使组合框下拉 我想避免组合框在列表中搜索第一个匹配项、选择它并将所选字符串输入到编辑控件中的默认行为。我可以通过使用 GetMessage() 自己从消息队列中捕获相应的(LB_SETCURSEL 等)消息来抑制这种行为吗?

有没有人对如何做有不同的想法?

问候米贝克

4

1 回答 1

1

您可能想要实现Window 子类化。这允许您将自己的 WndProc 函数插入到组合框控件中,该控件在调用控件自己的 WndProc 之前被调用。您可以过滤掉(并删除)您不希望控件获取的窗口消息。

我现在没有启动到我的 Windows 分区以在组合框上运行 Spy++ 以查看它实际接收到的消息。我的猜测是你想过滤掉 WM_CHAR 被组合框接收。

于 2011-10-18T08:33:20.757 回答