www.pudn.com > WinGOS.rar > Desktop.h


#ifndef _GOS_DESKTOP_H_ 
#define _GOS_DESKTOP_H_ 
 
enum _tagDesktop 
{ 
	COLOR_3DDKSHADOW,			//3D深度阴影 
	COLOR_3DSHADOW,				//3D阴影 
	COLOR_3DFACE,				//3D,对话框,按钮 
	COLOR_3DLIGHT,				//3D高亮 
	COLOR_3DHLIGHT,				//3D超高亮 
	COLOR_WINDOW,				//窗口背景 
	COLOR_ACTIVECAPTION,		//活动标题背景 
	COLOR_INACTIVECAPTION,		//非活动标题背景 
	COLOR_MENU,					//菜单背景 
	COLOR_INFOBK,				//提示背景 
	COLOR_HIGHLIGHT,			//高亮/选中背景 
	COLOR_MENUHILIGHT,			//选中的菜单项背景 
	COLOR_WINDOWTEXT,			//窗口文本 
	COLOR_CAPTIONTEXT,			//标题文字 
	COLOR_INACTIVECAPTIONTEXT,	//非活动标题文字 
	COLOR_MENUTEXT,				//菜单文字 
	COLOR_INFOTEXT,				//提示文本 
	COLOR_HIGHLIGHTTEXT,		//高亮/选中文字 
	COLOR_BTNTEXT,				//按钮文字 
	COLOR_GRAYTEXT,				//灰色文字 
	COLOR_HOTLIGHT,				//热点文本 
	COLOR_COUNT, 
 
	SM_DlgMaxmizeRect=1, 
}; 
 
class CDrvMouse; 
class CDrvKeyboard; 
class CDisplay; 
 
class CDesktop :public CPWnd 
{ 
public: 
	virtual LRESULT MsgProc(UINT message, WPARAM wParam, LPARAM lParam); 
	void OnEraseBkgnd(CDC* pDC); 
	void OnPainting(LPARAM wParam,LPARAM lParam); 
	void OnMsgEvent(WPARAM wParam, LPARAM lParam); 
	int OnGetSysMetrics(WPARAM wParam, LPARAM lParam); 
public: 
	void GetDlgMaxmizeRect(LPRECT r) 
		{ MsgProc(WM_GETSYSMETRICS,SM_DlgMaxmizeRect,LPARAM(r)); } 
	BOOL SetWallpaper(PBITMAPFILEHEADER pFile); 
	BOOL Create(CThread* pThread,CDisplay* pDisplay,CDrvMouse* pMouse,CDrvKeyboard* pKeyboard); 
	//光标 
	void ShowCaret(CBitmap* pBitmap,SIZE size); 
	void HideCaret(); 
	CPoint GetCaretPos(); 
	void SetCaretPos(POINT pt); 
public: 
	void DispatchMouseEvent(WPARAM wParam, LPARAM lParam); 
public: 
	CThread* m_pThread; 
	CDisplay* m_pDisplay; 
	CWnd* m_pMouseWnd; 
	PCOLORREF m_aSysColor; 
	CCharSet* m_pCharSet; 
	CFont m_font; 
	CDC  m_dcOwnDC; 
	CRect m_rclPaint; 
	CBitmap m_bmpWallpaper; 
}; 
 
#endif //_GOS_DESKTOP_H_