在wxButton周围模拟"有焦点"框的最简单方法是什么?



我有一个对话框,底部是一个普通的框大小调整器,其中有3个按钮。当我做时

m_buttonCancel->SetDefault();

代码的工作原理是按回车键确实会取消,但没有视觉线索表明这是默认按钮。我希望按钮周围有一个矩形,类似于我说的

m_buttonCancel->SetFocus();

问题是:其他小部件通常具有焦点,比如对话框中的wxTextCtrl小部件。然后按钮周围的焦点边框消失了,但我希望它保持不变。当然,我可以把这个按钮放在一个面板中并设置边框样式,但这个按钮的大小会与其他按钮不同,或者我也必须把它们放在单独的面板中(但没有边框(。

必须有一种更简单的方法在按钮周围绘制边框,而不改变任何按钮的大小,也不影响布局?

操作系统:在CentOS,所以wxWidgets使用Gtk。

您还可以告诉对话框按钮是默认项,这取决于实现\OS,它的处理方式不同

SetDefaultItem(m_buttonCancel);

虽然我可能会说,将Cancel设置为对Enter键做出反应的按钮很奇怪,这通常是OK的角色,但ESC键是单独处理的。

如果这是您想要的,为什么不同时调用按钮上的SetDefault()SetFocus()呢?作为;默认";并且是";"聚焦";是不同的,两者都不意味着另一个,所以如果你想要两者,就这么说吧。

最新更新