-# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-#
import wx
#'this is a long item that needs a scrollbar...',
'six', 'seven', 'eight']
- wx.StaticText(self, -1, "This example uses the wxComboBox control.", (8, 10))
+ wx.StaticText(self, -1, "This example uses the wx.ComboBox control.", (8, 10))
wx.StaticText(self, -1, "Select one:", (15, 50), (75, 18))
# This combobox is created with a preset list of values.
(95, -1), sampleList, wx.CB_DROPDOWN #|wxTE_PROCESS_ENTER
)
- ##import win32api, win32con
- ##win32api.SendMessage(cb.GetHandle(),
- ## win32con.CB_SETHORIZONTALEXTENT,
- ## 200, 0)
-
self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, cb)
self.Bind(wx.EVT_TEXT, self.EvtText, cb)
self.Bind(wx.EVT_TEXT_ENTER, self.EvtTextEnter, cb)
cb.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus)
cb.Bind(wx.EVT_KILL_FOCUS, self.OnKillFocus)
- # Once the combobox is set up, we append some more data to it.
+ # Once the combobox is set up, we can append some more data to it.
cb.Append("foo", "This is some client data for this item")
# This combobox is created with no values initially.
cb = wx.ComboBox(
- self, 501, "default value", (90, 80), (95, -1), [], wx.CB_SIMPLE)
+ self, 501, "default value", (90, 80), (95, -1), [], wx.CB_DROPDOWN)
# Here we dynamically add our values to the second combobox.
for item in sampleList:
cb.Append(item, item.upper())
self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, cb)
- self.Bind(wx.EVT_COMBOBOX, self.EvtText, cb)
- # The user selects something, we go here.
+ # When the user selects something, we go here.
def EvtComboBox(self, evt):
cb = evt.GetEventObject()
- data = cb.GetClientData(cb.GetSelection())
+ data = cb.GetClientData(evt.GetSelection())
self.log.WriteText('EvtComboBox: %s\nClientData: %s\n' % (evt.GetString(), data))
if evt.GetString() == 'one':
# Capture events every time a user hits a key in the text entry field.
def EvtText(self, evt):
self.log.WriteText('EvtText: %s\n' % evt.GetString())
+ evt.Skip()
# Capture events when the user types something into the control then
# hits ENTER.
def EvtTextEnter(self, evt):
self.log.WriteText('EvtTextEnter: %s' % evt.GetString())
+ evt.Skip()
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
-
overview = """\
A ComboBox is like a combination of an edit control and a listbox. It can be
displayed as static list with editable or read-only text field; or a drop-down
"""
+#---------------------------------------------------------------------------
+
if __name__ == '__main__':
import sys,os
import run
- run.main(['', os.path.basename(sys.argv[0])])
+ run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])