我想更改组合框的默认行为(c ++,win32 api)。我在编辑控件中输入内容时使组合框下拉我想避免组合框在列表中搜索第一个匹配项的默认行为,选择它,并将所选字符串输入编辑控件。我可以通过使用GetMessage()从邮件队列中捕获相应的(LB_SETCURSEL等)消息来抑制此行为吗?
有没有人对如何做到这一点有不同的想法?
电贺 Michbeck
答案 0 :(得分:1)
您可能希望实施Window subclassing。这允许您将自己的WndProc函数插入到在调用控件自己的WndProc之前调用的组合框控件中。您可以过滤掉(并删除)您不希望控件获取的窗口消息。
我现在没有启动到我的Windows分区,在组合框上运行Spy ++,看看它实际收到了什么消息。我的猜测是你想要从组合框中过滤掉WM_CHAR。