【发布时间】:2011-12-21 13:11:26
【问题描述】:
我正在实现一个继承自System.Windows.Forms.Button 的自定义Button 类,我对按钮进行自定义绘制,包括按钮文本。我想为我的按钮支持加速键(热键)。
小解释:在标准按钮中,当按下 ALT 键时,加速字符会加下划线:
button.Text = "&Capture screen";
当您在应用程序中按 ALT 键 时,按钮会在“C”字符下划线。
因此,当我绘制按钮文本时,我需要知道加速器下划线何时处于活动状态,以绘制带下划线的文本。
- 如何订阅接收加速器消息?
- 是事件吗?
- 是 WND_PROC 消息吗?
- 是否有托管代码来获取它?
提前致谢。
【问题讨论】:
-
@HansPassant:看来这个属性是用来知道控件是否必须绘制焦点矩形的。这与热键下划线有什么关系?
-
糟糕,制作 ShowKeyboardCues。