📄 mystatic.cpp
字号:
// MyStatic.cpp : implementation file
//
#include "stdafx.h"
#include "最近邻法分类器.h"
#include "MyStatic.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyStatic
CMyStatic::CMyStatic()
{
char yu[50]="1";
strcpy(mychar," ");
}
CMyStatic::~CMyStatic()
{
}
BEGIN_MESSAGE_MAP(CMyStatic, CStatic)
//{{AFX_MSG_MAP(CMyStatic)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyStatic message handlers
void CMyStatic::PreSubclassWindow()
{
// TODO: Add your specialized code here and/or call the base class
CStatic::PreSubclassWindow();
ModifyStyle(0, SS_USERITEM);
}
void CMyStatic::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CRect rect;
GetClientRect(rect);
int nSaveDC=dc.SaveDC();
TCHAR strText[MAX_PATH + 1];
::GetWindowText(m_hWnd, strText, MAX_PATH);
if(strcmp(mychar,"") != 0)
{
CFont* hFont=CFont::FromHandle(ShowFont("宋体",13,60));
CFont* hOldFont = dc.SelectObject(hFont);
CSize szExtent = dc.GetTextExtent(mychar, lstrlen(mychar));
CPoint pt( rect.left, rect.top);
int nMode =dc.SetBkMode(TRANSPARENT);
dc.DrawState(pt, szExtent, mychar, DSS_NORMAL, TRUE, 0, (HBRUSH)NULL);
//dc.DrawText(strText,lstrlen(strText),rect,DT_CENTER);
dc.SelectObject(hOldFont);
dc.SetBkMode(nMode);
}
else
{
//显示按钮的文本
if (strText!=NULL)
{
CFont* hFont=CFont::FromHandle(ShowFont("宋体",13,60));
CFont* hOldFont = dc.SelectObject(hFont);
CSize szExtent = dc.GetTextExtent(strText, lstrlen(strText));
CPoint pt( rect.left, rect.top);
int nMode =dc.SetBkMode(TRANSPARENT);
dc.DrawState(pt, szExtent, strText, DSS_NORMAL, TRUE, 0, (HBRUSH)NULL);
//dc.DrawText(strText,lstrlen(strText),rect,DT_CENTER);
dc.SelectObject(hOldFont);
dc.SetBkMode(nMode);
}
}
dc.RestoreDC(nSaveDC);
// Do not call CStatic::OnPaint() for painting messages
}
HFONT CMyStatic::ShowFont(LPCTSTR fontstyle, int fontheight, int fontweight)
{
LOGFONT lf;
lf.lfCharSet=GB2312_CHARSET;
lf.lfClipPrecision=CLIP_DEFAULT_PRECIS;
lf.lfEscapement=0;
strcpy(lf.lfFaceName,fontstyle); //字体样式
lf.lfHeight=fontheight; //字体高度
lf.lfItalic=FALSE;
lf.lfOrientation=0;
lf.lfOutPrecision=OUT_DEFAULT_PRECIS;
lf.lfPitchAndFamily=FF_DONTCARE | DEFAULT_PITCH;
lf.lfQuality=DEFAULT_QUALITY;
lf.lfStrikeOut= FALSE;
lf.lfUnderline=FALSE;
lf.lfWeight=fontweight;//字体重量
lf.lfWidth=0;
HFONT hFont=::CreateFontIndirect(&lf);
return hFont;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -