revisions contributed by Utensil Candel
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53041 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -11,14 +11,12 @@
|
||||
@wxheader{odcombo.h}
|
||||
|
||||
wxOwnerDrawnComboBox is a combobox with owner-drawn list items.
|
||||
In essence, it is a wxComboCtrl with
|
||||
wxVListBox popup and wxControlWithItems
|
||||
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
|
||||
wxOwnerDrawnComboBox::OnDrawItem, wxOwnerDrawnComboBox::OnMeasureItem
|
||||
and wxOwnerDrawnComboBox::OnMeasureItemWidth.
|
||||
OnDrawItem(), OnMeasureItem() and OnMeasureItemWidth().
|
||||
|
||||
@beginStyleTable
|
||||
@style{wxODCB_DCLICK_CYCLES}:
|
||||
@@ -27,16 +25,18 @@
|
||||
@style{wxODCB_STD_CONTROL_PAINT}:
|
||||
Control itself is not custom painted using OnDrawItem. Even if this
|
||||
style is not used, writable wxOwnerDrawnComboBox is never custom
|
||||
painted unless SetCustomPaintWidth is called.
|
||||
painted unless SetCustomPaintWidth() is called.
|
||||
@endStyleTable
|
||||
|
||||
@beginEventTable{wxCommandEvent}
|
||||
@event{EVT_COMBOBOX(id, func)}:
|
||||
Process a wxEVT_COMMAND_COMBOBOX_SELECTED event, when an item on
|
||||
the list is selected. Note that calling GetValue returns the new
|
||||
the list is selected. Note that calling GetValue() returns the new
|
||||
value of selection.
|
||||
@endEventTable
|
||||
|
||||
@see Events emitted by wxComboCtrl.
|
||||
|
||||
@library{wxadv}
|
||||
@category{ctrl}
|
||||
@appearance{ownerdrawncombobox.png}
|
||||
@@ -46,6 +46,11 @@
|
||||
class wxOwnerDrawnComboBox : public wxComboCtrl
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
Default constructor.
|
||||
*/
|
||||
wxOwnerDrawnComboBox();
|
||||
//@{
|
||||
/**
|
||||
Constructor, creating and showing a owner-drawn combobox.
|
||||
@@ -53,13 +58,13 @@ public:
|
||||
@param parent
|
||||
Parent window. Must not be @NULL.
|
||||
@param id
|
||||
Window identifier. The value wxID_ANY indicates a default value.
|
||||
Window identifier. The value @c wxID_ANY indicates a default value.
|
||||
@param value
|
||||
Initial selection string. An empty string indicates no selection.
|
||||
@param pos
|
||||
Window position.
|
||||
@param size
|
||||
Window size. If wxDefaultSize is specified then the window is
|
||||
Window size. If @c wxDefaultSize is specified then the window is
|
||||
sized
|
||||
appropriately.
|
||||
@param n
|
||||
@@ -75,13 +80,12 @@ public:
|
||||
|
||||
@see Create(), wxValidator
|
||||
*/
|
||||
wxOwnerDrawnComboBox();
|
||||
wxOwnerDrawnComboBox(wxWindow* parent, wxWindowID id,
|
||||
const wxString& value = "",
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
int n = 0,
|
||||
const wxString choices[] = NULL,
|
||||
const wxString[] choices = NULL,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = "comboBox");
|
||||
@@ -102,10 +106,10 @@ public:
|
||||
|
||||
//@{
|
||||
/**
|
||||
Creates the combobox for two-step construction. Derived classes
|
||||
should call or replace this function. See
|
||||
wxOwnerDrawnComboBox()
|
||||
for further details.
|
||||
Creates the combobox for two-step construction.
|
||||
See wxOwnerDrawnComboBox() for further details.
|
||||
|
||||
@remarks Derived classes should call or replace this function.
|
||||
*/
|
||||
bool Create(wxWindow* parent, wxWindowID id,
|
||||
const wxString& value = "",
|
||||
@@ -137,19 +141,22 @@ public:
|
||||
|
||||
/**
|
||||
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.
|
||||
@remarks flags has the same meaning as with OnDrawItem().
|
||||
*/
|
||||
void OnDrawBackground(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. If function is not implemented,
|
||||
the item text is simply drawn, as if the control was a normal combobox.
|
||||
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.
|
||||
|
||||
@param dc
|
||||
The device context to use for drawing
|
||||
@@ -160,6 +167,15 @@ public:
|
||||
The index of the item to be drawn
|
||||
@param flags
|
||||
Combines any of the following flag values:
|
||||
|
||||
@beginStyleTable
|
||||
@style{wxODCB_PAINTING_CONTROL}:
|
||||
Combo control is being painted, instead of a list item.
|
||||
Argument item may be @c wxNOT_FOUND in this case.
|
||||
@style{wxODCB_PAINTING_SELECTED}:
|
||||
An item with selection background is being painted.
|
||||
DC text colour should already be correct.
|
||||
@endStyleTable
|
||||
*/
|
||||
void OnDrawItem(wxDC& dc, const wxRect& rect, int item,
|
||||
int flags) const;
|
||||
@@ -167,6 +183,7 @@ public:
|
||||
/**
|
||||
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.
|
||||
*/
|
||||
@@ -176,6 +193,7 @@ public:
|
||||
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.
|
||||
*/
|
||||
wxCoord OnMeasureItemWidth(size_t item) const;
|
||||
|
Reference in New Issue
Block a user