Fix handling of ampersands in wxCheckListBox under MSW

They were incorrectly interpreted as mnemonics when drawing
wxCheckListBox items, which didn't make sense and was inconsistent with
the other ports and even wxListBox in wxMSW itself.

It also affected wxRearrangeCtrl under MSW, which uses wxCheckListBox
for its implementation.

Closes #19201.
This commit is contained in:
Vadim Zeitlin
2021-06-16 19:12:32 +01:00
parent 6f9826ea69
commit 2d9c9d9689
3 changed files with 22 additions and 1 deletions

View File

@@ -100,6 +100,15 @@ public:
void Toggle()
{ Check(!IsChecked()); }
protected:
virtual int MSWGetTextType() const wxOVERRIDE
{
// Don't handle mnemonics in the label specially, they don't make sense
// for the listbox items that can't be activated from keyboard using
// them.
return DST_TEXT;
}
private:
wxCheckListBox *m_parent;
bool m_checked;