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

📄 text.cpp

📁 数据库开发
💻 CPP
字号:
// Text.cpp: implementation of the CText class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MyDraw.h"
#include "Text.h"
#include "TextProperties.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CText,CObject,1)

CText::CText()
{
	BkMode=TRANSPARENT;
	MyText="MyDraw";
	MyColor=RGB(0,0,0);
	
	MyFont.lfCharSet=DEFAULT_CHARSET;
	MyFont.lfClipPrecision=CLIP_DEFAULT_PRECIS;
	MyFont.lfEscapement=0;
	strcpy(MyFont.lfFaceName,"Times New Roman");
	MyFont.lfHeight=80;
	MyFont.lfItalic=false;
	MyFont.lfOrientation=0;
	MyFont.lfOutPrecision=OUT_DEFAULT_PRECIS;
	MyFont.lfPitchAndFamily=FF_SWISS;
	MyFont.lfQuality=DEFAULT_QUALITY;
	MyFont.lfStrikeOut=false;
	MyFont.lfUnderline=false;
	MyFont.lfWeight=800;
	MyFont.lfWidth=20; 
}

CText::~CText()
{
	
}

void CText::Serialize(CArchive & ar)
{
	CObject::Serialize(ar);
    if(ar.IsLoading())
    {
		ar>>startX>>startY>>endX>>endY>>MyText>>BkMode>>MyColor>>
			MyFont.lfCharSet>>
			MyFont.lfClipPrecision>>
			MyFont.lfEscapement>>
			(CString)MyFont.lfFaceName>>
			MyFont.lfHeight>>
			MyFont.lfItalic>>
			MyFont.lfOrientation>>
			MyFont.lfOutPrecision>>
			MyFont.lfPitchAndFamily>>
			MyFont.lfQuality>>
			MyFont.lfStrikeOut>>
			MyFont.lfUnderline>>
			MyFont.lfWeight>>
			MyFont.lfWidth;
    }
	else
	{
		ar<<startX<<startY<<endX<<endY<<MyText<<BkMode<<MyColor<<
			MyFont.lfCharSet<<
			MyFont.lfClipPrecision<<
			MyFont.lfEscapement<<
			(CString)MyFont.lfFaceName<<
			MyFont.lfHeight<<
			MyFont.lfItalic<<
			MyFont.lfOrientation<<
			MyFont.lfOutPrecision<<
			MyFont.lfPitchAndFamily<<
			MyFont.lfQuality<<
			MyFont.lfStrikeOut<<
			MyFont.lfUnderline<<
			MyFont.lfWeight<<
			MyFont.lfWidth;
    }
}

void CText::ShowProperties()
{
	CTextProperties TextDlg;
	if (this->BkMode==TRANSPARENT)
		TextDlg.m_BkMode=true;
	else
		TextDlg.m_BkMode=false; 
	TextDlg.m_Font=this->MyFont;
	TextDlg.m_TextColor=this->MyColor;
	TextDlg.m_Text=this->MyText; 
	
	if (TextDlg.DoModal()==IDOK)
	{
		this->MyFont=TextDlg.m_Font;  
		this->MyColor=TextDlg.m_TextColor; 
		this->MyText=TextDlg.m_Text;  
		
		if (TextDlg.m_BkMode)
			this->BkMode=TRANSPARENT;
		else
			this->BkMode=OPAQUE;
	}
}

void CText::Draw(CDC *pDC)
{
	CFont cMyFont;
	CFont* pOldFont;
	cMyFont.CreateFontIndirect(&this->MyFont);
	
	pOldFont=pDC->SelectObject(&cMyFont);
	pDC->SetBkMode(this->BkMode);  
	pDC->SetTextColor(this->MyColor);  
	pDC->DrawText(this->MyText,CRect(this->startX,this->startY,
		this->endX,this->endY),DT_LEFT);
	pDC->SelectObject(pOldFont);
}

⌨️ 快捷键说明

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