在我的程序中,我希望用户能够在某些选项之间进行选择,因此我使用了wxChoice组件。不幸的是,在用户交互(点击按钮)后,我必须显示自定义文本(不是来自我的预定义列表)。如果我使用wxCombobox控件,一切正常,但这种方法的缺点是每次用户从列表中选择一个元素时,所选文本都是高位的。这很烦人。我希望组件像只读一样。怎么做到这一点?
一些代码可视化我的问题:
wxComboBox* viewAngle = wxDynamicCast( owner->FindWindow
( ID_CHOICE_3D_VIEWANGLE ), wxComboBox );
viewAngle->SetSelection( wxNOT_FOUND );
viewAngle->SetValue(_("Custom View"));
编辑:
此控件用于在3D对象查看器应用程序中设置摄像机视图。可能的选项如:top,left,right等。用户也可以使用鼠标移动3D对象。在这种情况下,我希望我的组合框显示“自定义视图”字符串。但是,“自定义视图”不应该是组合框列表的一部分,因为选择此选项不会执行任何操作。 wxWidgets默认实现alwasy标记选定的文本。这可能会误导用户,因为他可能认为他应该输入任何文本。
答案 0 :(得分:0)
恕我直言,应该将自定义文本添加到wxComboBox控件中,当用户选择该选项时,程序可以忽略它。
此外,wxComboBox的wxCB_READONLY样式可用于避免突出显示。