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.
|
|
/*
* Host */
#ifndef DUI_CORE_HOST_H_INCLUDED
#define DUI_CORE_HOST_H_INCLUDED
#pragma once
#include "duielement.h"
namespace DirectUI {
////////////////////////////////////////////////////////
// HWNDElement
#define HWEM_FLUSHWORKINGSET WM_USER
class HWNDElement : public Element { public: static HRESULT Create(OUT Element** ppElement); // Required for ClassInfo (always fails)
static HRESULT Create(HWND hParent, bool fDblBuffer, UINT nCreate, OUT Element** ppElement);
virtual void OnPropertyChanged(PropertyInfo* ppi, int iIndex, Value* pvOld, Value* pvNew); virtual void OnGroupChanged(int fGroups, bool bLowPri); virtual void OnDestroy(); virtual void OnEvent(Event* pEvent); virtual void OnInput(InputEvent* pInput); virtual bool CanSetFocus() {return true;}
Element* ElementFromPoint(POINT* ppt);
static LRESULT CALLBACK StaticWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); virtual LRESULT WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
void FlushWorkingSet(); // Async
HWND GetHWND() { return _hWnd; } Element* GetKeyFocusedElement();
void ShowUIState(bool fUpdateAccel, bool fUpdateFocus); WORD GetUIState() { return _wUIState; } bool ShowAccel() { return !(GetUIState() & UISF_HIDEACCEL); } bool ShowFocus() { return !(GetUIState() & UISF_HIDEFOCUS); }
void SetParentSizeControl(bool bParentSizeControl) {_bParentSizeControl = bParentSizeControl;} void SetScreenCenter(bool bScreenCenter) {_bScreenCenter = bScreenCenter;} // Property definitions
static PropertyInfo* WrapKeyboardNavigateProp;
// Quick property accessors
bool GetWrapKeyboardNavigate() DUIQuickGetter(bool, GetBool(), WrapKeyboardNavigate, Specified)
HRESULT SetWrapKeyboardNavigate(bool v) DUIQuickSetter(CreateBool(v), WrapKeyboardNavigate)
// ClassInfo accessors (static and virtual instance-based)
static IClassInfo* Class; virtual IClassInfo* GetClassInfo() { return Class; } static HRESULT Register();
///////////////////////////////////////////////////////
// Accessibility support
virtual HRESULT GetAccessibleImpl(IAccessible ** ppAccessible); HWNDElement() {_bParentSizeControl = false; _bScreenCenter = false;} virtual ~HWNDElement() { } HRESULT Initialize(HWND hParent, bool fDblBuffer, UINT nCreate);
protected:
HWND _hWnd; HPALETTE _hPal; bool _bParentSizeControl; bool _bScreenCenter; WORD _wUIState; };
} // namespace DirectUI
#endif // DUI_CORE_HOST_H_INCLUDED
|