desktop.h

来自「一个更为先进的嵌入式操作系统.采用RMS线程调度算法,具有信号量等同步对象.亦包」· C头文件 代码 · 共 70 行

H
70
字号
#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_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?