]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/combobox.h
Added DECLARE_LOCAL_EVENT_TYPE which doesn't use WXDLLEXPORT. This is
[wxWidgets.git] / include / wx / msw / combobox.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/msw/combobox.h
3// Purpose: wxComboBox class
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_COMBOBOX_H_
13#define _WX_COMBOBOX_H_
14
15#ifdef __GNUG__
16 #pragma interface "combobox.h"
17#endif
18
19#include "wx/choice.h"
20
21#if wxUSE_COMBOBOX
22
23WXDLLEXPORT_DATA(extern const wxChar*) wxComboBoxNameStr;
24WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
25
26// ----------------------------------------------------------------------------
27// Combobox control
28// ----------------------------------------------------------------------------
29
30class WXDLLEXPORT wxComboBox: public wxChoice
31{
32 DECLARE_DYNAMIC_CLASS(wxComboBox)
33
34public:
35 wxComboBox() { }
36
37 wxComboBox(wxWindow *parent, wxWindowID id,
38 const wxString& value = wxEmptyString,
39 const wxPoint& pos = wxDefaultPosition,
40 const wxSize& size = wxDefaultSize,
41 int n = 0, const wxString choices[] = NULL,
42 long style = 0,
43 const wxValidator& validator = wxDefaultValidator,
44 const wxString& name = wxComboBoxNameStr)
45 {
46 Create(parent, id, value, pos, size, n, choices, style, validator, name);
47 }
48
49 bool Create(wxWindow *parent,
50 wxWindowID id,
51 const wxString& value = wxEmptyString,
52 const wxPoint& pos = wxDefaultPosition,
53 const wxSize& size = wxDefaultSize,
54 int n = 0,
55 const wxString choices[] = NULL,
56 long style = 0,
57 const wxValidator& validator = wxDefaultValidator,
58 const wxString& name = wxComboBoxNameStr);
59
60 // List functions: see wxChoice
61
62 // Text field functions
63 wxString GetValue() const { return GetLabel(); }
64 virtual void SetValue(const wxString& value);
65
66 // Clipboard operations
67 virtual void Copy();
68 virtual void Cut();
69 virtual void Paste();
70 virtual void SetInsertionPoint(long pos);
71 virtual void SetInsertionPointEnd();
72 virtual long GetInsertionPoint() const;
73 virtual long GetLastPosition() const;
74 virtual void Replace(long from, long to, const wxString& value);
75 virtual void Remove(long from, long to);
76 virtual void SetSelection(int n) { wxChoice::SetSelection(n); }
77 virtual void SetSelection(long from, long to);
78 virtual void SetEditable(bool editable);
79
80 // implementation only from now on
81 virtual bool MSWCommand(WXUINT param, WXWORD id);
82 bool MSWProcessEditMsg(WXUINT msg, WXWPARAM wParam, WXLPARAM lParam);
83 virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
84 WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
85
86 WXHWND GetEditHWND() const;
87
88protected:
89 virtual void DoMoveWindow(int x, int y, int width, int height);
90 virtual wxSize DoGetBestSize() const;
91};
92
93#endif // wxUSE_COMBOBOX
94#endif
95 // _WX_COMBOBOX_H_