]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/wxComboBox.py
1 from wxPython
. wx
import *
3 #---------------------------------------------------------------------------
5 class TestComboBox ( wxPanel
):
6 def OnSetFocus ( self
, evt
):
9 def OnKillFocus ( self
, evt
):
13 def __init__ ( self
, parent
, log
):
15 wxPanel
.__ init
__ ( self
, parent
, - 1 )
17 sampleList
= [ 'zero' , 'one' , 'two' , 'three' , 'four' , 'five' ,
18 ##'this is a long item that needs a scrollbar...',
19 'six' , 'seven' , 'eight' ]
21 wxStaticText ( self
, - 1 , "This example uses the wxComboBox control." ,
24 wxStaticText ( self
, - 1 , "Select one:" , wxPoint ( 15 , 50 ), wxSize ( 75 , 18 ))
25 cb
= wxComboBox ( self
, 500 , "default value" , wxPoint ( 90 , 50 ), wxSize ( 95 , - 1 ),
26 sampleList
, wxCB_DROPDOWN
) #|wxTE_PROCESS_ENTER)
27 ##import win32api, win32con
28 ##win32api.SendMessage(cb.GetHandle(),
29 ## win32con.CB_SETHORIZONTALEXTENT,
32 EVT_COMBOBOX ( self
, 500 , self
. EvtComboBox
)
33 EVT_TEXT ( self
, 500 , self
. EvtText
)
34 EVT_TEXT_ENTER ( self
, 500 , self
. EvtTextEnter
)
35 EVT_SET_FOCUS ( cb
, self
. OnSetFocus
)
36 EVT_KILL_FOCUS ( cb
, self
. OnKillFocus
)
38 cb
. Append ( "foo" , "This is some client data for this item" )
40 cb
= wxComboBox ( self
, 501 , "default value" , wxPoint ( 90 , 80 ), wxSize ( 95 , - 1 ),
42 for item
in sampleList
:
43 cb
. Append ( item
, item
. upper ())
44 EVT_COMBOBOX ( self
, 501 , self
. EvtComboBox
)
45 EVT_TEXT ( self
, 501 , self
. EvtText
)
48 def EvtComboBox ( self
, evt
):
49 cb
= evt
. GetEventObject ()
50 data
= cb
. GetClientData ( cb
. GetSelection ())
51 self
. log
. WriteText ( 'EvtComboBox: %s \n ClientData: %s \n ' % ( evt
. GetString (), data
))
53 def EvtText ( self
, evt
):
54 self
. log
. WriteText ( 'EvtText: %s \n ' % evt
. GetString ())
56 def EvtTextEnter ( self
, evt
):
57 self
. log
. WriteText ( 'EvtTextEnter: does this work?' )
59 #---------------------------------------------------------------------------
61 def runTest ( frame
, nb
, log
):
62 win
= TestComboBox ( nb
, log
)
65 #---------------------------------------------------------------------------
74 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 list with text field; or a drop-down list without a text field.
80 if __name__
== '__main__' :
83 run
. main ([ '' , os
. path
. basename ( sys
. argv
[ 0 ])])