| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/msw/choice.h
 
- // Purpose:     wxChoice class
 
- // Author:      Julian Smart
 
- // Modified by: Vadim Zeitlin to derive from wxChoiceBase
 
- // Created:     01/02/97
 
- // Copyright:   (c) Julian Smart
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_CHOICE_H_
 
- #define _WX_CHOICE_H_
 
- struct tagCOMBOBOXINFO;
 
- // ----------------------------------------------------------------------------
 
- // Choice item
 
- // ----------------------------------------------------------------------------
 
- class WXDLLIMPEXP_CORE wxChoice : public wxChoiceBase
 
- {
 
- public:
 
-     // ctors
 
-     wxChoice() { Init(); }
 
-     virtual ~wxChoice();
 
-     wxChoice(wxWindow *parent,
 
-              wxWindowID id,
 
-              const wxPoint& pos = wxDefaultPosition,
 
-              const wxSize& size = wxDefaultSize,
 
-              int n = 0, const wxString choices[] = NULL,
 
-              long style = 0,
 
-              const wxValidator& validator = wxDefaultValidator,
 
-              const wxString& name = wxChoiceNameStr)
 
-     {
 
-         Init();
 
-         Create(parent, id, pos, size, n, choices, style, validator, name);
 
-     }
 
-     wxChoice(wxWindow *parent,
 
-              wxWindowID id,
 
-              const wxPoint& pos,
 
-              const wxSize& size,
 
-              const wxArrayString& choices,
 
-              long style = 0,
 
-              const wxValidator& validator = wxDefaultValidator,
 
-              const wxString& name = wxChoiceNameStr)
 
-     {
 
-         Init();
 
-         Create(parent, id, pos, size, choices, style, validator, name);
 
-     }
 
-     bool Create(wxWindow *parent,
 
-                 wxWindowID id,
 
-                 const wxPoint& pos = wxDefaultPosition,
 
-                 const wxSize& size = wxDefaultSize,
 
-                 int n = 0, const wxString choices[] = NULL,
 
-                 long style = 0,
 
-                 const wxValidator& validator = wxDefaultValidator,
 
-                 const wxString& name = wxChoiceNameStr);
 
-     bool Create(wxWindow *parent,
 
-                 wxWindowID id,
 
-                 const wxPoint& pos,
 
-                 const wxSize& size,
 
-                 const wxArrayString& choices,
 
-                 long style = 0,
 
-                 const wxValidator& validator = wxDefaultValidator,
 
-                 const wxString& name = wxChoiceNameStr);
 
-     virtual bool Show(bool show = true);
 
-     virtual void SetLabel(const wxString& label);
 
-     virtual unsigned int GetCount() const;
 
-     virtual int GetSelection() const;
 
-     virtual int GetCurrentSelection() const;
 
-     virtual void SetSelection(int n);
 
-     virtual int FindString(const wxString& s, bool bCase = false) const;
 
-     virtual wxString GetString(unsigned int n) const;
 
-     virtual void SetString(unsigned int n, const wxString& s);
 
-     virtual wxVisualAttributes GetDefaultAttributes() const
 
-     {
 
-         return GetClassDefaultAttributes(GetWindowVariant());
 
-     }
 
-     static wxVisualAttributes
 
-     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 
-     // MSW only
 
-     virtual bool MSWCommand(WXUINT param, WXWORD id);
 
-     WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
 
-     virtual WXHBRUSH MSWControlColor(WXHDC hDC, WXHWND hWnd);
 
-     virtual bool MSWShouldPreProcessMessage(WXMSG *pMsg);
 
-     virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
 
-     // returns true if the platform should explicitly apply a theme border
 
-     virtual bool CanApplyThemeBorder() const { return false; }
 
- protected:
 
-     // choose the default border for this window
 
-     virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 
-     // common part of all ctors
 
-     void Init()
 
-     {
 
-         m_lastAcceptedSelection =
 
-         m_pendingSelection = wxID_NONE;
 
-         m_heightOwn = wxDefaultCoord;
 
-     }
 
-     virtual void DoDeleteOneItem(unsigned int n);
 
-     virtual void DoClear();
 
-     virtual int DoInsertItems(const wxArrayStringsAdapter& items,
 
-                               unsigned int pos,
 
-                               void **clientData, wxClientDataType type);
 
-     virtual void DoMoveWindow(int x, int y, int width, int height);
 
-     virtual void DoSetItemClientData(unsigned int n, void* clientData);
 
-     virtual void* DoGetItemClientData(unsigned int n) const;
 
-     // MSW implementation
 
-     virtual wxSize DoGetBestSize() const;
 
-     virtual void DoGetSize(int *w, int *h) const;
 
-     virtual void DoSetSize(int x, int y,
 
-                            int width, int height,
 
-                            int sizeFlags = wxSIZE_AUTO);
 
-     virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
 
-     // Show or hide the popup part of the control.
 
-     void MSWDoPopupOrDismiss(bool show);
 
-     // update the height of the drop down list to fit the number of items we
 
-     // have (without changing the visible height)
 
-     void MSWUpdateDropDownHeight();
 
-     // set the height of the visible part of the control to m_heightOwn
 
-     void MSWUpdateVisibleHeight();
 
-     // Call GetComboBoxInfo() and return false if it's not supported by this
 
-     // system. Notice that the caller must initialize info.cbSize.
 
-     bool MSWGetComboBoxInfo(tagCOMBOBOXINFO* info) const;
 
-     // create and initialize the control
 
-     bool CreateAndInit(wxWindow *parent, wxWindowID id,
 
-                        const wxPoint& pos,
 
-                        const wxSize& size,
 
-                        int n, const wxString choices[],
 
-                        long style,
 
-                        const wxValidator& validator,
 
-                        const wxString& name);
 
-     // free all memory we have (used by Clear() and dtor)
 
-     void Free();
 
-     // set the height for simple combo box
 
-     int SetHeightSimpleComboBox(int nItems) const;
 
- #if wxUSE_DEFERRED_SIZING
 
-     virtual void MSWEndDeferWindowPos();
 
- #endif // wxUSE_DEFERRED_SIZING
 
-     // These variables are only used while the drop down is opened.
 
-     //
 
-     // The first one contains the item that had been originally selected before
 
-     // the drop down was opened and the second one the item we should select
 
-     // when the drop down is closed again.
 
-     int m_lastAcceptedSelection,
 
-         m_pendingSelection;
 
-     // the height of the control itself if it was set explicitly or
 
-     // wxDefaultCoord if it hadn't
 
-     int m_heightOwn;
 
-     DECLARE_DYNAMIC_CLASS_NO_COPY(wxChoice)
 
- };
 
- #endif // _WX_CHOICE_H_
 
 
  |