⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mystatic.cpp

📁 本程序是一个最近邻分类算法的演示程序
💻 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 + -