Thank you Robin, that works well:
def OnTextValue(self, evt):
"""User has inserted text into combo box;
check that maximum length is not exceeded
"""
wnd = evt.GetEventObject()
s = wnd.GetValue()
over = len(s) - self.valueLength
if over > 0:
n = wnd.GetInsertionPoint()
m = n - over
wnd.SetValue(s[:m] + s[n:])
wnd.SetInsertionPoint(m)
···
At 09:15 AM 5/8/2008, Robin Dunn wrote:
Phil Mayes wrote:
Hi all,
I want to limit the number of characters typed into the text field of a CB_DROPDOWN ComboBox. I thought I had seen a way of getting the TextCtrl so I can apply SetMaxLength(), but can't find any references to it in the archives.Unfortunately there isn't a built-in way to do tha with a combobox. You'll have to catch events (EVT_CHAR and/or maybe EVT_TEXT) and impose the limit yourself.