Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

70 lines
1.9 KiB

// Combobox.h
//
#ifndef DUI_CONTROL_COMBOBOX_H_INCLUDED
#define DUI_CONTROL_COMBOBOX_H_INCLUDED
#include "duihwndhost.h"
namespace DirectUI
{
////////////////////////////////////////////////////////
// Combobox
// SelectionChange event
struct SelectionIndexChangeEvent : Event
{
int iOld;
int iNew;
};
// Class definition
class Combobox : public HWNDHost
{
public:
static HRESULT Create(OUT Element** ppElement) { return Create(AE_MouseAndKeyboard, ppElement); }
static HRESULT Create(UINT nActive, OUT Element** ppElement);
// System events
virtual void OnInput(InputEvent* pie);
virtual void OnPropertyChanged(PropertyInfo* ppi, int iIndex, Value* pvOld, Value* pvNew);
// Control notifications
virtual bool OnNotify(UINT nMsg, WPARAM wParam, LPARAM lParam, LRESULT* plRet);
// Sizing callback
virtual BOOL OnAdjustWindowSize(int x, int y, UINT uFlags);
// Rendering
SIZE GetContentSize(int dConstW, int dConstH, Surface* psrf);
// ClassInfo accessors (static and virtual instance-based)
static IClassInfo* Class;
virtual IClassInfo* GetClassInfo() { return Class; }
static HRESULT Register();
int AddString(LPCWSTR lpszString);
// Event types
static UID SelectionChange;
// Property definitions
static PropertyInfo* SelectionProp;
// Quick property accessors
int GetSelection() DUIQuickGetter(int, GetInt(), Selection, Specified)
HRESULT SetSelection(int v) DUIQuickSetter(CreateInt(v), Selection)
Combobox() { }
virtual ~Combobox() { }
HRESULT Initialize(UINT nActive) { return HWNDHost::Initialize(HHC_CacheFont | HHC_SyncText | HHC_SyncPaint, nActive); }
virtual HWND CreateHWND(HWND hwndParent);
};
} // namespace DirectUI
#endif // DUI_CONTROL_COMBOBOX_H_INCLUDED