gstatic.cpp
来自「一个简单而又高效的嵌入式操作系统.包括GUI及文件系统.仿Windows设计,类」· C++ 代码 · 共 85 行
CPP
85 行
// GStatic.cpp: implementation of the GStatic class.
//
//////////////////////////////////////////////////////////////////////
#include "..\stdafx.h"
#include "GStatic.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GStatic::GStatic()
{
m_nStyle=0;
m_nState=0;
}
GStatic::~GStatic()
{
}
//消息处理函数
void GStatic::WndProc(int nMessage, int wParam, int lParam)
{
switch(nMessage)
{
case WM_PAINT:
if(wParam & ODA_EDGE)OnNcPaint();
if(wParam & ~ODA_EDGE)OnPaint();
break;
case WM_MOVE:
OnMove();
break;
case WM_CREATE:
OnCreate();
break;
default:
lParam=0;
break;
}
}
void GStatic::OnPaint()
{
if(m_nBackColor!=-1)FillRect(m_Rect,m_nBackColor);
switch(m_nStyle & 0x0f)
{
case SS_LEFT:
DrawText(m_strText,m_Rect,DT_LEFT|DT_VCENTER);
break;
case SS_CENTER:
DrawText(m_strText,m_Rect,DT_CENTER|DT_VCENTER);
break;
case SS_RIGHT:
DrawText(m_strText,m_Rect,DT_RIGHT|DT_VCENTER);
break;
case SS_ICON:
case SS_BITMAP:
if(m_nState)
{
if(m_nStyle & SS_REALSIZEIMAGE)
{
RECT r=m_Rect;
r.left=(r.left+r.right-GetBitmap()->bmWidth+1)/2;
r.right=r.left+GetBitmap()->bmWidth-1;
r.top=(r.top+r.bottom-GetBitmap()->bmHeight+1)/2;
r.bottom=r.top+GetBitmap()->bmHeight-1;
DrawBitmap(GetBitmap(),r);
}
else
{
DrawBitmap(GetBitmap(),m_Rect);
}
}
break;
}
}
void GStatic::OnCreate()
{
m_nStyle |= WS_NOFOCUS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?