static.cpp

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

CPP
56
字号
#include "gos.h"
#include "static.h"

LRESULT CStatic::MsgProc(UINT message, WPARAM wParam, LPARAM lParam)
{
	switch(message)
	{
	case WM_PAINT:
		OnPaint(PDC(wParam));
		break;
	default:
		wParam=CWnd::MsgProc(message,wParam,lParam);
	}
	return wParam;
}

BOOL CStatic::Create(LPCTSTR pszText,DWORD nStyle,LPCRECT pRect,CPWnd* pParent)
{
	return CWnd::Create(pszText,nStyle|WS_NOFOCUS,pRect,pParent);
}

BOOL CStatic::Create(CBitmap* pBitmap,DWORD nStyle,LPCRECT pRect,CPWnd* pParent)
{
	nStyle |= WS_NOFOCUS|SS_ICON;
	CWnd::Create(nStyle,pRect,pParent);
	SetData(pBitmap);
	return TRUE;
}

void CStatic::OnPaint(CDC* pDC)
{
	DWORD nStyle=GetStyle();
	if(nStyle & SS_BITMAP)
	{
		CBitmap* pBitmap=GetBitmap();
		if(!pBitmap || !pBitmap->GetBitmap().bmBits)return;
		pDC->BitBlt(GetClientRect(),pBitmap,NULL,nStyle&SS_STYLEMASK);
	}
	else
	{
		CFont* pFont=pDC->SelectObject(GetFont());
		COLORREF clr0=pDC->SetBkColor(CLR_NONE);
		COLORREF clr=GetCtlColor(COLOR_WINDOWTEXT);
		clr=pDC->SetTextColor(clr);

		nStyle &= SS_DTMASK;
		pDC->DrawText(this,GetClientRect(),nStyle);

		pDC->SetTextColor(clr);
		pDC->SetBkColor(clr0);
		pDC->SelectObject(pFont);
	}
}


⌨️ 快捷键说明

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