wxOwnerDrawnComboBox Class Reference
[Controls]

#include <wx/odcombo.h>

Inheritance diagram for wxOwnerDrawnComboBox:
Inheritance graph
[legend]

Detailed Description

wxOwnerDrawnComboBox is a combobox with owner-drawn list items.

In essence, it is a wxComboCtrl with wxVListBox popup and wxControlWithItems interface.

Implementing item drawing and measuring is similar to wxVListBox. Application needs to subclass wxOwnerDrawnComboBox and implement OnDrawItem(), OnMeasureItem() and OnMeasureItemWidth().

Styles

This class supports the following styles:

See also:
wxComboCtrl window styles and Window Styles.

Events emitted by this class

The following event handler macros redirect the events to member function handlers 'func' with prototypes like:

void handlerFuncName(wxCommandEvent& event)

Event macros for events emitted by this class:

See also:
Events emitted by wxComboCtrl.

Library:  wxAdvanced
Category:  Controls

Appearance:
wxMSW appearancewxGTK appearancewxMac appearance
wxMSW appearancewxGTK appearancewxMac appearance
See also:
wxComboCtrl, wxComboBox, wxVListBox, wxCommandEvent

Public Member Functions

 wxOwnerDrawnComboBox ()
 Default constructor.
 wxOwnerDrawnComboBox (wxWindow *parent, wxWindowID id, const wxString &value=wxEmptyString, 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="comboBox")
 Constructor, creating and showing a owner-drawn combobox.
 wxOwnerDrawnComboBox (wxWindow *parent, wxWindowID id, const wxString &value, const wxPoint &pos, const wxSize &size, const wxArrayString &choices, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name="comboBox")
 Constructor, creating and showing a owner-drawn combobox.
virtual ~wxOwnerDrawnComboBox ()
 Destructor, destroying the owner-drawn combobox.
virtual int GetWidestItem ()
 Returns index to the widest item in the list.
virtual int GetWidestItemWidth ()
 Returns width of the widest item in the list.



bool Create (wxWindow *parent, wxWindowID id, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxComboBoxNameStr)
 Creates the combobox for two-step construction.
bool Create (wxWindow *parent, wxWindowID id, const wxString &value, const wxPoint &pos, const wxSize &size, int n, const wxString choices[], long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxComboBoxNameStr)
 Creates the combobox for two-step construction.
bool Create (wxWindow *parent, wxWindowID id, const wxString &value, const wxPoint &pos, const wxSize &size, const wxArrayString &choices, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxComboBoxNameStr)
 Creates the combobox for two-step construction.

Protected Member Functions

virtual void OnDrawBackground (wxDC &dc, const wxRect &rect, int item, int flags) const
 This method is used to draw the items background and, maybe, a border around it.
virtual void OnDrawItem (wxDC &dc, const wxRect &rect, int item, int flags) const
 The derived class may implement this function to actually draw the item with the given index on the provided DC.
virtual wxCoord OnMeasureItem (size_t item) const
 The derived class may implement this method to return the height of the specified item (in pixels).
virtual wxCoord OnMeasureItemWidth (size_t item) const
 The derived class may implement this method to return the width of the specified item (in pixels).

List of all members.


Constructor & Destructor Documentation

wxOwnerDrawnComboBox::wxOwnerDrawnComboBox (  ) 

Default constructor.

wxOwnerDrawnComboBox::wxOwnerDrawnComboBox ( wxWindow parent,
wxWindowID  id,
const wxString value = wxEmptyString,
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 = "comboBox" 
)

Constructor, creating and showing a owner-drawn combobox.

Parameters:
parent Parent window. Must not be NULL.
id Window identifier. The value wxID_ANY indicates a default value.
value Initial selection string. An empty string indicates no selection.
pos Window position.
size Window size. If wxDefaultSize is specified then the window is sized appropriately.
n Number of strings with which to initialise the control.
choices An array of strings with which to initialise the control.
style Window style. See wxOwnerDrawnComboBox.
validator Window validator.
name Window name.
See also:
Create(), wxValidator
wxOwnerDrawnComboBox::wxOwnerDrawnComboBox ( wxWindow parent,
wxWindowID  id,
const wxString value,
const wxPoint pos,
const wxSize size,
const wxArrayString choices,
long  style = 0,
const wxValidator validator = wxDefaultValidator,
const wxString name = "comboBox" 
)

Constructor, creating and showing a owner-drawn combobox.

Parameters:
parent Parent window. Must not be NULL.
id Window identifier. The value wxID_ANY indicates a default value.
value Initial selection string. An empty string indicates no selection.
pos Window position.
size Window size. If wxDefaultSize is specified then the window is sized appropriately.
choices An array of strings with which to initialise the control.
style Window style. See wxOwnerDrawnComboBox.
validator Window validator.
name Window name.
See also:
Create(), wxValidator
virtual wxOwnerDrawnComboBox::~wxOwnerDrawnComboBox (  )  [virtual]

Destructor, destroying the owner-drawn combobox.


Member Function Documentation

bool wxOwnerDrawnComboBox::Create ( wxWindow parent,
wxWindowID  id,
const wxString value,
const wxPoint pos,
const wxSize size,
const wxArrayString choices,
long  style = 0,
const wxValidator validator = wxDefaultValidator,
const wxString name = wxComboBoxNameStr 
)

Creates the combobox for two-step construction.

See wxOwnerDrawnComboBox() for further details.

Remarks:
Derived classes should call or replace this function.
bool wxOwnerDrawnComboBox::Create ( wxWindow parent,
wxWindowID  id,
const wxString value,
const wxPoint pos,
const wxSize size,
int  n,
const wxString  choices[],
long  style = 0,
const wxValidator validator = wxDefaultValidator,
const wxString name = wxComboBoxNameStr 
)

Creates the combobox for two-step construction.

See wxOwnerDrawnComboBox() for further details.

Remarks:
Derived classes should call or replace this function.
bool wxOwnerDrawnComboBox::Create ( wxWindow parent,
wxWindowID  id,
const wxString value = wxEmptyString,
const wxPoint pos = wxDefaultPosition,
const wxSize size = wxDefaultSize,
long  style = 0,
const wxValidator validator = wxDefaultValidator,
const wxString name = wxComboBoxNameStr 
)

Creates the combobox for two-step construction.

See wxOwnerDrawnComboBox() for further details.

Remarks:
Derived classes should call or replace this function.

Reimplemented from wxComboCtrl.

virtual int wxOwnerDrawnComboBox::GetWidestItem (  )  [virtual]

Returns index to the widest item in the list.

virtual int wxOwnerDrawnComboBox::GetWidestItemWidth (  )  [virtual]

Returns width of the widest item in the list.

virtual void wxOwnerDrawnComboBox::OnDrawBackground ( wxDC dc,
const wxRect rect,
int  item,
int  flags 
) const [protected, virtual]

This method is used to draw the items background and, maybe, a border around it.

The base class version implements a reasonable default behaviour which consists in drawing the selected item with the standard background colour and drawing a border around the item if it is either selected or current.

Remarks:
flags has the same meaning as with OnDrawItem().
virtual void wxOwnerDrawnComboBox::OnDrawItem ( wxDC dc,
const wxRect rect,
int  item,
int  flags 
) const [protected, virtual]

The derived class may implement this function to actually draw the item with the given index on the provided DC.

If function is not implemented, the item text is simply drawn, as if the control was a normal combobox.

Parameters:
dc The device context to use for drawing
rect The bounding rectangle for the item being drawn (DC clipping region is set to this rectangle before calling this function)
item The index of the item to be drawn
flags A combination of the wxOwnerDrawnComboBoxPaintingFlags enumeration values.
virtual wxCoord wxOwnerDrawnComboBox::OnMeasureItem ( size_t  item  )  const [protected, virtual]

The derived class may implement this method to return the height of the specified item (in pixels).

The default implementation returns text height, as if this control was a normal combobox.

virtual wxCoord wxOwnerDrawnComboBox::OnMeasureItemWidth ( size_t  item  )  const [protected, virtual]

The derived class may implement this method to return the width of the specified item (in pixels).

If -1 is returned, then the item text width is used.

The default implementation returns -1.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



wxWidgets logo

[ top ]