我想更改组合框的默认行为(c++、win32 api)。当在其编辑控件中输入某些内容时,我使组合框下拉我想避免组合框搜索列表中的第一个匹配项,选择它,并将所选字符串输入编辑控件的默认行为。我可以通过自己使用 GetMessage() 从消息队列中捕获相应的(LB_SETCURSEL 等)消息来抑制这种行为吗?
有没有人对如何去做有不同的想法?
问候 米奇贝克
最佳答案
您可能想要实现 Window subclassing .这允许您将自己的 WndProc 函数插入到在调用控件自己的 WndProc 之前调用的组合框控件。您可以过滤掉(并删除)您不希望控件获取的窗口消息。
我现在没有启动到我的 Windows 分区来在组合框上运行 Spy++ 来查看它实际接收到的消息。我的猜测是您想过滤掉组合框接收的 WM_CHAR。
关于c++ - Win32 API GetMessage(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804361/