c++ - Win32 API GetMessage()

标签 c++ winapi combobox getmessage

我想更改组合框的默认行为(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/

相关文章:

winapi - 匿名管道上的重叠 I/O

c++ - 将 UTF-16 转换为 UTF-8

Python win32api.mouse_event 类型错误

c# - 在 MVVM 框架的组合框中选择一个项目

c++ - 如何在 QML 中使用模型?

c++ - 使用多个框架给出 clang : error: linker command failed with exit code 1

c++ - 选择用于 CUDA 调试的设备

c++ - Eigen3 replicate() 用于矩阵 vector cwiseProduct 操作

c++ - 防止将 AddString(某些进程)添加到组合框 MFC

c++ - 如何使用 C++ 访问 Windows 设备管理器中的信息?