]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/combobox.tex
compilation fix for wxUSE_STL==1 in DoGetSibling()
[wxWidgets.git] / docs / latex / wx / combobox.tex
index 67960d7911642d68a9c9dc821211fb4ebc37bb42..6c4bee1ae90353d6a043331df6b9c2f086003f4f 100644 (file)
@@ -6,6 +6,10 @@ text field; or a drop-down list without a text field.
 
 A combobox permits a single selection only. Combobox items are numbered from zero.
 
 
 A combobox permits a single selection only. Combobox items are numbered from zero.
 
+If you need a customized combobox, have a look at \helpref{wxComboCtrl}{wxcomboctrl},
+\helpref{wxOwnerDrawnComboBox}{wxownerdrawncombobox}, \helpref{wxComboPopup}{wxcombopopup}
+and the ready-to-use \helpref{wxBitmapComboBox}{wxbitmapcombobox}.
+
 \wxheading{Derived from}
 
 \helpref{wxControlWithItems}{wxcontrolwithitems}\\
 \wxheading{Derived from}
 
 \helpref{wxControlWithItems}{wxcontrolwithitems}\\
@@ -18,6 +22,10 @@ A combobox permits a single selection only. Combobox items are numbered from zer
 
 <wx/combobox.h>
 
 
 <wx/combobox.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 \wxheading{Window styles}
 
 \begin{twocollist}\itemsep=0pt
 \wxheading{Window styles}
 
 \begin{twocollist}\itemsep=0pt
@@ -27,6 +35,10 @@ A combobox permits a single selection only. Combobox items are numbered from zer
 strings specified as the combobox choices can be selected, it is impossible to
 select (even from a program) a string which is not in the choices list.}
 \twocolitem{\windowstyle{wxCB\_SORT}}{Sorts the entries in the list alphabetically.}
 strings specified as the combobox choices can be selected, it is impossible to
 select (even from a program) a string which is not in the choices list.}
 \twocolitem{\windowstyle{wxCB\_SORT}}{Sorts the entries in the list alphabetically.}
+\twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The control will generate
+the event wxEVT\_COMMAND\_TEXT\_ENTER (otherwise pressing Enter key
+is either processed internally by the control or used for navigation between
+dialog controls). Windows only.}
 \end{twocollist}
 
 See also \helpref{window styles overview}{windowstyles}.
 \end{twocollist}
 
 See also \helpref{window styles overview}{windowstyles}.
@@ -36,10 +48,13 @@ See also \helpref{window styles overview}{windowstyles}.
 \twocolwidtha{7cm}
 \begin{twocollist}\itemsep=0pt
 \twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
 \twocolwidtha{7cm}
 \begin{twocollist}\itemsep=0pt
 \twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
-when an item on the list is selected. Note that calling 
+when an item on the list is selected. Note that calling
 \helpref{GetValue}{wxcomboboxgetvalue} returns the new value of selection.}
 \twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
 when the combobox text changes.}
 \helpref{GetValue}{wxcomboboxgetvalue} returns the new value of selection.}
 \twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
 when the combobox text changes.}
+\twocolitem{{\bf EVT\_TEXT\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_ENTER event,
+when <RETURN> is pressed in the combobox (notice that the combobox must have
+been created with \texttt{wxTE\_PROCESS\_ENTER} style to receive this event).}
 \end{twocollist}
 
 \wxheading{See also}
 \end{twocollist}
 
 \wxheading{See also}
@@ -49,6 +64,7 @@ when the combobox text changes.}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxComboBox::wxComboBox}\label{wxcomboboxctor}
 
 \func{}{wxComboBox}{\void}
 \membersection{wxComboBox::wxComboBox}\label{wxcomboboxctor}
 
 \func{}{wxComboBox}{\void}
@@ -57,7 +73,7 @@ Default constructor.
 
 \func{}{wxComboBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
 \param{const wxString\& }{value = ``"}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
 
 \func{}{wxComboBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
 \param{const wxString\& }{value = ``"}, \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
-\param{int}{ n}, \param{const wxString }{choices[]},\rtfsp
+\param{int}{ n = 0}, \param{const wxString }{choices[] = NULL},\rtfsp
 \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``comboBox"}}
 
 \func{}{wxComboBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
 \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``comboBox"}}
 
 \func{}{wxComboBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
@@ -101,12 +117,14 @@ a list of strings.}
 \perlnote{In wxPerl there is just an array reference in place of {\tt n}
 and {\tt choices}.}
 
 \perlnote{In wxPerl there is just an array reference in place of {\tt n}
 and {\tt choices}.}
 
+
 \membersection{wxComboBox::\destruct{wxComboBox}}\label{wxcomboboxdtor}
 
 \func{}{\destruct{wxComboBox}}{\void}
 
 Destructor, destroying the combobox.
 
 \membersection{wxComboBox::\destruct{wxComboBox}}\label{wxcomboboxdtor}
 
 \func{}{\destruct{wxComboBox}}{\void}
 
 Destructor, destroying the combobox.
 
+
 \membersection{wxComboBox::Create}\label{wxcomboboxcreate}
 
 \func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
 \membersection{wxComboBox::Create}\label{wxcomboboxcreate}
 
 \func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
@@ -123,6 +141,7 @@ Creates the combobox for two-step construction. Derived classes
 should call or replace this function. See \helpref{wxComboBox::wxComboBox}{wxcomboboxctor}\rtfsp
 for further details.
 
 should call or replace this function. See \helpref{wxComboBox::wxComboBox}{wxcomboboxctor}\rtfsp
 for further details.
 
+
 \membersection{wxComboBox::CanCopy}\label{wxcomboboxcancopy}
 
 \constfunc{bool}{CanCopy}{\void}
 \membersection{wxComboBox::CanCopy}\label{wxcomboboxcancopy}
 
 \constfunc{bool}{CanCopy}{\void}
@@ -130,6 +149,7 @@ for further details.
 Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
 Only available on Windows.
 
 Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
 Only available on Windows.
 
+
 \membersection{wxComboBox::CanCut}\label{wxcomboboxcancut}
 
 \constfunc{bool}{CanCut}{\void}
 \membersection{wxComboBox::CanCut}\label{wxcomboboxcancut}
 
 \constfunc{bool}{CanCut}{\void}
@@ -137,6 +157,7 @@ Only available on Windows.
 Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
 Only available on Windows.
 
 Returns true if the combobox is editable and there is a text selection to copy to the clipboard.
 Only available on Windows.
 
+
 \membersection{wxComboBox::CanPaste}\label{wxcomboboxcanpaste}
 
 \constfunc{bool}{CanPaste}{\void}
 \membersection{wxComboBox::CanPaste}\label{wxcomboboxcanpaste}
 
 \constfunc{bool}{CanPaste}{\void}
@@ -144,62 +165,96 @@ Only available on Windows.
 Returns true if the combobox is editable and there is text on the clipboard that can be pasted into the
 text field. Only available on Windows.
 
 Returns true if the combobox is editable and there is text on the clipboard that can be pasted into the
 text field. Only available on Windows.
 
+
 \membersection{wxComboBox::CanRedo}\label{wxcomboboxcanredo}
 
 \constfunc{bool}{CanRedo}{\void}
 
 Returns true if the combobox is editable and the last undo can be redone.
 Only available on Windows.
 \membersection{wxComboBox::CanRedo}\label{wxcomboboxcanredo}
 
 \constfunc{bool}{CanRedo}{\void}
 
 Returns true if the combobox is editable and the last undo can be redone.
 Only available on Windows.
+
+
 \membersection{wxComboBox::CanUndo}\label{wxcomboboxcanundo}
 
 \constfunc{bool}{CanUndo}{\void}
 
 Returns true if the combobox is editable and the last edit can be undone.
 Only available on Windows.
 \membersection{wxComboBox::CanUndo}\label{wxcomboboxcanundo}
 
 \constfunc{bool}{CanUndo}{\void}
 
 Returns true if the combobox is editable and the last edit can be undone.
 Only available on Windows.
+
+
 \membersection{wxComboBox::Copy}\label{wxcomboboxcopy}
 
 \func{void}{Copy}{\void}
 
 Copies the selected text to the clipboard.
 
 \membersection{wxComboBox::Copy}\label{wxcomboboxcopy}
 
 \func{void}{Copy}{\void}
 
 Copies the selected text to the clipboard.
 
+
 \membersection{wxComboBox::Cut}\label{wxcomboboxcut}
 
 \func{void}{Cut}{\void}
 
 Copies the selected text to the clipboard and removes the selection.
 
 \membersection{wxComboBox::Cut}\label{wxcomboboxcut}
 
 \func{void}{Cut}{\void}
 
 Copies the selected text to the clipboard and removes the selection.
 
+
+\membersection{wxComboBox::GetCurrentSelection}\label{wxcomboboxgetcurrentselection}
+
+\constfunc{int}{GetCurrentSelection}{\void}
+
+This function does the same things as 
+\helpref{wxChoice::GetCurrentSelection}{wxchoicegetcurrentselection} and
+returns the item currently selected in the dropdown list if it's open or the
+same thing as \helpref{GetSelection}{wxcontrolwithitemsgetselection} otherwise.
+
+
 \membersection{wxComboBox::GetInsertionPoint}\label{wxcomboboxgetinsertionpoint}
 
 \constfunc{long}{GetInsertionPoint}{\void}
 
 Returns the insertion point for the combobox's text field.
 
 \membersection{wxComboBox::GetInsertionPoint}\label{wxcomboboxgetinsertionpoint}
 
 \constfunc{long}{GetInsertionPoint}{\void}
 
 Returns the insertion point for the combobox's text field.
 
+\textbf{Note:} Under wxMSW, this function always returns $0$ if the combobox
+doesn't have the focus.
+
+
 \membersection{wxComboBox::GetLastPosition}\label{wxcomboboxgetlastposition}
 
 \membersection{wxComboBox::GetLastPosition}\label{wxcomboboxgetlastposition}
 
-\constfunc{long}{GetLastPosition}{\void}
+\constfunc{virtual wxTextPos}{GetLastPosition}{\void}
 
 Returns the last position in the combobox text field.
 
 
 Returns the last position in the combobox text field.
 
+
+\membersection{wxComboBox::GetSelection}\label{wxcomboboxgetselection}
+
+\constfunc{void}{GetSelection}{\param{long *}{from}, \param{long *}{to}}
+
+This is the same as \helpref{wxTextCtrl::GetSelection}{wxtextctrlgetselection} 
+for the text control which is part of the combobox. Notice that this is a
+different method from \helpref{wxControlWithItems::GetSelection}{wxcontrolwithitemsgetselection}.
+
+Currently this method is only implemented in wxMSW and wxGTK.
+
+
 \membersection{wxComboBox::GetValue}\label{wxcomboboxgetvalue}
 
 \constfunc{wxString}{GetValue}{\void}
 
 Returns the current value in the combobox text field.
 
 \membersection{wxComboBox::GetValue}\label{wxcomboboxgetvalue}
 
 \constfunc{wxString}{GetValue}{\void}
 
 Returns the current value in the combobox text field.
 
+
 \membersection{wxComboBox::Paste}\label{wxcomboboxpaste}
 
 \func{void}{Paste}{\void}
 
 Pastes text from the clipboard to the text field.
 
 \membersection{wxComboBox::Paste}\label{wxcomboboxpaste}
 
 \func{void}{Paste}{\void}
 
 Pastes text from the clipboard to the text field.
 
+
 \membersection{wxComboBox::Redo}\label{wxcomboboxredo}
 
 \func{void}{Redo}{\void}
 
 Redoes the last undo in the text field. Windows only.
 
 \membersection{wxComboBox::Redo}\label{wxcomboboxredo}
 
 \func{void}{Redo}{\void}
 
 Redoes the last undo in the text field. Windows only.
 
+
 \membersection{wxComboBox::Replace}\label{wxcomboboxreplace}
 
 \func{void}{Replace}{\param{long}{ from}, \param{long}{ to}, \param{const wxString\& }{text}}
 \membersection{wxComboBox::Replace}\label{wxcomboboxreplace}
 
 \func{void}{Replace}{\param{long}{ from}, \param{long}{ to}, \param{const wxString\& }{text}}
@@ -214,6 +269,7 @@ Replaces the text between two positions with the given text, in the combobox tex
 
 \docparam{text}{The text to insert.}
 
 
 \docparam{text}{The text to insert.}
 
+
 \membersection{wxComboBox::Remove}\label{wxcomboboxremove}
 
 \func{void}{Remove}{\param{long}{ from}, \param{long}{ to}}
 \membersection{wxComboBox::Remove}\label{wxcomboboxremove}
 
 \func{void}{Remove}{\param{long}{ from}, \param{long}{ to}}
@@ -226,6 +282,7 @@ Removes the text between the two positions in the combobox text field.
 
 \docparam{to}{The last position.}
 
 
 \docparam{to}{The last position.}
 
+
 \membersection{wxComboBox::SetInsertionPoint}\label{wxcomboboxsetinsertionpoint}
 
 \func{void}{SetInsertionPoint}{\param{long}{ pos}}
 \membersection{wxComboBox::SetInsertionPoint}\label{wxcomboboxsetinsertionpoint}
 
 \func{void}{SetInsertionPoint}{\param{long}{ pos}}
@@ -236,12 +293,14 @@ Sets the insertion point in the combobox text field.
 
 \docparam{pos}{The new insertion point.}
 
 
 \docparam{pos}{The new insertion point.}
 
+
 \membersection{wxComboBox::SetInsertionPointEnd}\label{wxcomboboxsetinsertionpointend}
 
 \func{void}{SetInsertionPointEnd}{\void}
 
 Sets the insertion point at the end of the combobox text field.
 
 \membersection{wxComboBox::SetInsertionPointEnd}\label{wxcomboboxsetinsertionpointend}
 
 \func{void}{SetInsertionPointEnd}{\void}
 
 Sets the insertion point at the end of the combobox text field.
 
+
 \membersection{wxComboBox::SetSelection}\label{wxcomboboxsetselection}
 
 \func{void}{SetSelection}{\param{long}{ from}, \param{long}{ to}}
 \membersection{wxComboBox::SetSelection}\label{wxcomboboxsetselection}
 
 \func{void}{SetSelection}{\param{long}{ from}, \param{long}{ to}}
@@ -255,9 +314,10 @@ Selects the text between the two positions, in the combobox text field.
 \docparam{to}{The second position.}
 
 \pythonnote{This method is called {\tt SetMark} in wxPython, {\tt SetSelection}
 \docparam{to}{The second position.}
 
 \pythonnote{This method is called {\tt SetMark} in wxPython, {\tt SetSelection}
-name is kept for 
+name is kept for
 \helpref{wxControlWithItems::SetSelection}{wxcontrolwithitemssetselection}.}
 
 \helpref{wxControlWithItems::SetSelection}{wxcontrolwithitemssetselection}.}
 
+
 \membersection{wxComboBox::SetValue}\label{wxcomboboxsetvalue}
 
 \func{void}{SetValue}{\param{const wxString\& }{text}}
 \membersection{wxComboBox::SetValue}\label{wxcomboboxsetvalue}
 
 \func{void}{SetValue}{\param{const wxString\& }{text}}
@@ -271,6 +331,7 @@ the combobox choices list, otherwise the call to SetValue() is ignored.
 
 \docparam{text}{The text to set.}
 
 
 \docparam{text}{The text to set.}
 
+
 \membersection{wxComboBox::Undo}\label{wxcomboboxundo}
 
 \func{void}{Undo}{\void}
 \membersection{wxComboBox::Undo}\label{wxcomboboxundo}
 
 \func{void}{Undo}{\void}