我目前正在开发一个使用 WIN32 API 的用户界面 DLL。DLL 必须适用于多种平台、XP、WIN CE 等。我已设法合并停靠、锚定等,但似乎有关于所有者绘制按钮的问题。我可以绘制按钮的正确状态,焦点,点击,默认。但是,我无法收到关键通知。如果用户按 Enter,我特别想对当前具有焦点的按钮执行单击操作。
请注意,我使用的是 Windows 消息循环而不是对话消息循环。我使用 windows 挂钩来挂钩窗口创建并将用户数据设置为“指向”我的控件实例。如果我在主消息循环中测试 WM_KEYDOWN,我可以获得按钮控件实例的句柄,并将消息转发到相关控件。不幸的是,我正在处理很多遗留代码,这可能不是一个理想的解决方案。
所以,我的问题是什么是最好的前进方式。子类化按钮控件的窗口过程是一个可行的选择还是有更简单的方法?
提前谢谢了。