c++ - TAB 键在 COM 框架上的 MFC 应用程序中不起作用。但是,箭头键有效

标签 c++ visual-c++ com mfc atl

我的应用程序是一个作为 dll 提供的对话框。它可以从我无法控制的更大的应用程序以模态和非模态模式启动。我们使用 MFC 库并遵循 COM 体系结构。出于开发目的,我们有一个测试器应用程序可以启动我的对话框。

我面临的问题是 Tab 键在模态和非模态中根本不起作用。 但是,箭头键有效。

通过 SPY++ 观察时,我根本看不到选项卡出现在我的对话框中。

我对发生的事情感到很困惑?

最佳答案

要使选项卡在无模式对话框中工作,应用程序必须从其主消息泵调用 IsDialogMessage。但在您的情况下,应用程序甚至不知道对话框的存在。我相信您唯一的选择是安装 Windows Hook (请参阅 SetWindowsHookEx)并自己调用 IsDialogMessage

模态对话框应该开箱即用 - 你确定不是吗?

关于c++ - TAB 键在 COM 框架上的 MFC 应用程序中不起作用。但是,箭头键有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24642343/

相关文章:

c++ - 配置 Visual Studio 以创建 32 位和 64 位配置

仅 C++ 前端编译器(将 C++ 转换为 C)

c++ - 包含指针的原子结构

c++ - 针对多个 Windows 版本

c# - 需要将基于 C++ dll/h/lib/xml/exe 的 SDK 'wrap up' 转换为 COM 以在 C# 2.0 项目中使用

c++ - 访问结构中定义的枚举的值

c++ - Visual Studio : Copying content during build, 无论 cpp 更改如何

c++ - 在 R 值中使用 volatile 两次

delphi - 我找到了 ComClass,现在如何引用它?

c++ - 如何在 Windows 中注册 COM(组件对象模型)? (用于图标覆盖处理程序)