| 1 | \section{\class{wxButton}}\label{wxbutton} |
| 2 | |
| 3 | A button is a control that contains a text string, |
| 4 | and is one of the most common elements of a GUI. It may be placed on a |
| 5 | \rtfsp\helpref{dialog box}{wxdialog} or \helpref{panel}{wxpanel}, or indeed |
| 6 | almost any other window. |
| 7 | |
| 8 | \wxheading{Derived from} |
| 9 | |
| 10 | \helpref{wxControl}{wxcontrol}\\ |
| 11 | \helpref{wxWindow}{wxwindow}\\ |
| 12 | \helpref{wxEvtHandler}{wxevthandler}\\ |
| 13 | \helpref{wxObject}{wxobject} |
| 14 | |
| 15 | \wxheading{Include files} |
| 16 | |
| 17 | <wx/button.h> |
| 18 | |
| 19 | \wxheading{Library} |
| 20 | |
| 21 | \helpref{wxCore}{librarieslist} |
| 22 | |
| 23 | \wxheading{Window styles} |
| 24 | |
| 25 | \twocolwidtha{5cm}% |
| 26 | \begin{twocollist}\itemsep=0pt |
| 27 | \twocolitem{\windowstyle{wxBU\_LEFT}}{Left-justifies the label. Windows and GTK+ only.} |
| 28 | \twocolitem{\windowstyle{wxBU\_TOP}}{Aligns the label to the top of the button. Windows and GTK+ only.} |
| 29 | \twocolitem{\windowstyle{wxBU\_RIGHT}}{Right-justifies the bitmap label. Windows and GTK+ only.} |
| 30 | \twocolitem{\windowstyle{wxBU\_BOTTOM}}{Aligns the label to the bottom of the button. Windows and GTK+ only.} |
| 31 | \twocolitem{\windowstyle{wxBU\_EXACTFIT}}{Creates the button as small as possible instead of making it of the standard size (which is the default behaviour ).} |
| 32 | \twocolitem{\windowstyle{wxBORDER\_NONE}}{Creates a flat button. Windows and GTK+ only.} |
| 33 | \end{twocollist} |
| 34 | |
| 35 | See also \helpref{window styles overview}{windowstyles}. |
| 36 | |
| 37 | \wxheading{Event handling} |
| 38 | |
| 39 | \twocolwidtha{7cm}% |
| 40 | \begin{twocollist}\itemsep=0pt |
| 41 | \twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event, |
| 42 | when the button is clicked.} |
| 43 | \end{twocollist} |
| 44 | |
| 45 | \wxheading{See also} |
| 46 | |
| 47 | \helpref{wxBitmapButton}{wxbitmapbutton} |
| 48 | |
| 49 | \latexignore{\rtfignore{\wxheading{Members}}} |
| 50 | |
| 51 | \membersection{wxButton::wxButton}\label{wxbuttonctor} |
| 52 | |
| 53 | \func{}{wxButton}{\void} |
| 54 | |
| 55 | Default constructor. |
| 56 | |
| 57 | \func{}{wxButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label = wxEmptyString},\rtfsp |
| 58 | \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp |
| 59 | \param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``button"}} |
| 60 | |
| 61 | Constructor, creating and showing a button. |
| 62 | |
| 63 | The preferred way to create standard buttons is to use default value of |
| 64 | \arg{label}. If no label is supplied and \arg{id} is one of standard IDs from |
| 65 | \helpref{this list}{stockitems}, standard label will be used. In addition to |
| 66 | that, the button will be decorated with stock icons under GTK+ 2. |
| 67 | |
| 68 | \wxheading{Parameters} |
| 69 | |
| 70 | \docparam{parent}{Parent window. Must not be NULL.} |
| 71 | |
| 72 | \docparam{id}{Button identifier. A value of \texttt{wxID\_ANY} indicates a default value.} |
| 73 | |
| 74 | \docparam{label}{Text to be displayed on the button.} |
| 75 | |
| 76 | \docparam{pos}{Button position.} |
| 77 | |
| 78 | \docparam{size}{Button size. If the default size is specified then the button is sized |
| 79 | appropriately for the text.} |
| 80 | |
| 81 | \docparam{style}{Window style. See \helpref{wxButton}{wxbutton}.} |
| 82 | |
| 83 | \docparam{validator}{Window validator.} |
| 84 | |
| 85 | \docparam{name}{Window name.} |
| 86 | |
| 87 | \wxheading{See also} |
| 88 | |
| 89 | \helpref{wxButton::Create}{wxbuttoncreate}, \helpref{wxValidator}{wxvalidator} |
| 90 | |
| 91 | \membersection{wxButton::\destruct{wxButton}}\label{wxbuttondtor} |
| 92 | |
| 93 | \func{}{\destruct{wxButton}}{\void} |
| 94 | |
| 95 | Destructor, destroying the button. |
| 96 | |
| 97 | \membersection{wxButton::Create}\label{wxbuttoncreate} |
| 98 | |
| 99 | \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label = wxEmptyString},\rtfsp |
| 100 | \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp |
| 101 | \param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}} |
| 102 | |
| 103 | Button creation function for two-step creation. For more details, see |
| 104 | \helpref{wxButton::wxButton}{wxbuttonctor}. |
| 105 | |
| 106 | \membersection{wxButton::GetLabel}\label{wxbuttongetlabel} |
| 107 | |
| 108 | \constfunc{wxString}{GetLabel}{\void} |
| 109 | |
| 110 | Returns the string label for the button. |
| 111 | |
| 112 | \wxheading{Return value} |
| 113 | |
| 114 | The button's label. |
| 115 | |
| 116 | \wxheading{See also} |
| 117 | |
| 118 | \helpref{wxButton::SetLabel}{wxbuttonsetlabel} |
| 119 | |
| 120 | \membersection{wxButton::GetDefaultSize}\label{wxbuttongetdefaultsize} |
| 121 | |
| 122 | \func{wxSize}{GetDefaultSize}{\void} |
| 123 | |
| 124 | Returns the default size for the buttons. It is advised to make all the dialog |
| 125 | buttons of the same size and this function allows to retrieve the (platform and |
| 126 | current font dependent size) which should be the best suited for this. |
| 127 | |
| 128 | \membersection{wxButton::SetDefault}\label{wxbuttonsetdefault} |
| 129 | |
| 130 | \func{void}{SetDefault}{\void} |
| 131 | |
| 132 | This sets the button to be the default item for the panel or dialog |
| 133 | box. |
| 134 | |
| 135 | \wxheading{Remarks} |
| 136 | |
| 137 | Under Windows, only dialog box buttons respond to this function. As |
| 138 | normal under Windows and Motif, pressing return causes the default button to |
| 139 | be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp |
| 140 | which sets the keyboard focus for windows and text panel items,\rtfsp |
| 141 | and \helpref{wxTopLevelWindow::SetDefaultItem}{wxtoplevelwindowsetdefaultitem}. |
| 142 | |
| 143 | Note that under Motif, calling this function immediately after |
| 144 | creation of a button and before the creation of other buttons |
| 145 | will cause misalignment of the row of buttons, since default |
| 146 | buttons are larger. To get around this, call {\it SetDefault}\rtfsp |
| 147 | after you have created a row of buttons: wxWidgets will |
| 148 | then set the size of all buttons currently on the panel to |
| 149 | the same size. |
| 150 | |
| 151 | \membersection{wxButton::SetLabel}\label{wxbuttonsetlabel} |
| 152 | |
| 153 | \func{void}{SetLabel}{\param{const wxString\& }{label}} |
| 154 | |
| 155 | Sets the string label for the button. |
| 156 | |
| 157 | \wxheading{Parameters} |
| 158 | |
| 159 | \docparam{label}{The label to set.} |
| 160 | |
| 161 | \wxheading{See also} |
| 162 | |
| 163 | \helpref{wxButton::GetLabel}{wxbuttongetlabel} |
| 164 | |