bool wxChoice::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, int n, const wxString choices[], long style, const wxValidator& validator, const wxString& name) { return CreateAndInit(parent, id, pos, size, n, choices, style, validator, name); }
bool wxChoice::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, int n, const wxString choices[], long style, const wxValidator& validator, const wxString& name) { // Experience shows that wxChoice vs. wxComboBox distinction confuses // quite a few people - try to help them wxASSERT_MSG( !(style & wxCB_DROPDOWN) && !(style & wxCB_READONLY) && !(style & wxCB_SIMPLE), _T("this style flag is ignored by wxChoice, you ") _T("probably want to use a wxComboBox") ); return CreateAndInit(parent, id, pos, size, n, choices, style, validator, name); }
bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, int n, const wxString choices[], long style, const wxValidator& validator, const wxString& name) { // pretend that wxComboBox is hidden while it is positioned and resized and // show it only right before leaving this method because otherwise there is // some noticeable flicker while the control rearranges itself m_isShown = false; if ( !CreateAndInit(parent, id, pos, size, n, choices, style, validator, name) ) return false; // we shouldn't call SetValue() for an empty string because this would // (correctly) result in an assert with a read only combobox and is useless // for the other ones anyhow if ( !value.empty() ) SetValue(value); // a (not read only) combobox is, in fact, 2 controls: the combobox itself // and an edit control inside it and if we want to catch events from this // edit control, we must subclass it as well if ( !(style & wxCB_READONLY) ) { gs_wndprocEdit = wxSetWindowProc((HWND)GetEditHWND(), wxComboEditWndProc); } // and finally, show the control Show(true); return true; }