c++ - WinApi:如何为屏幕阅读器添加替代文本到所有者绘制的按钮?

标签 c++ winapi button accessibility ownerdrawn

我创建了一个应用程序(C++,纯 Win32,无 ATL/MFC),它有一个带有两个按钮的窗口。

这些是所有者绘制的按钮,是窗口本身的子项,我使用具有 BS_OWNERDRAW 样式的 CreateWindowEx 创建它们。

我目前正在进行辅助功能测试,屏幕阅读器无法读取按钮上的文本。是否需要采取特殊步骤才能让屏幕阅读器挑选按钮文本?

最佳答案

正如 Scott 提到的,尝试设置按钮的标准窗口文本,即使您是手动绘制它也是如此。否则,您将不得不让您的控件实现IAccessible。接口(interface),并响应 WM_GETOBJECT 窗口消息,因此它可以向屏幕阅读器和自动化工具提供此类详细信息,如自定义文本。

关于c++ - WinApi:如何为屏幕阅读器添加替代文本到所有者绘制的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17407651/

相关文章:

c++ - 如何使用 Windows 套接字模拟我用 C++ 编写的客户端服务器应用程序?

c++ - 使用静态防止函数内的多个拷贝

c - Scintilla 和线程安全

.net - SetThreadExecutionState(ES_SYSTEM_REQUIRED) 不会阻止 Windows 11 上的系统 sleep

c - 当使用 == 或 != 时,While 循环会卡住

WPF - 使用标准按钮创建带有向上和向下箭头的按钮

c++ - 使用信号处理程序触发事件时,如何让 boost.msm 正确更改状态?

c++ - 通过仿函数断开 boost 信号 2 连接

winapi - 无法从启动时启动的应用程序打开 COM1

android - 无法在 libgdx 游戏的菜单屏幕上绘制任何类型的按钮(android)