📄 mainform.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MainForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
AnsiString FontSizeC[16]={"初号","小初","一号","小一","二号","小二","三号","小三",
"四号","小四","五号","小五","六号","小六","七号","八号"};
int FontSizeN[10]={5,10,15,20,30,40,50,60,80,100};
float FontSizeCtoN[16]={42.5,40,37.5,35,32.5,30,27.5,25,22.5,20,17.5,15,12.5,10,7.5,5};
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
GetFontNames();
for(int i=0;i<16;i++)
FontSize->Items->Add(FontSizeC[i]);
for(int j=0;j<10;j++)
FontSize->Items->Add(IntToStr(FontSizeN[j]));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FontBoxChange(TObject *Sender)
{
TCharsetObject *ChasrsetObject;
if(Editor->SelText!=NULL)
{
ChasrsetObject = (TCharsetObject*)FontBox->Items->Objects[FontBox->ItemIndex];
CurrText()->Charset = (unsigned char)ChasrsetObject->Charset;
CurrText()->Name = FontBox->Items->Strings[FontBox->ItemIndex];
Image1->Picture=NULL;
Image1->Canvas->Font->Name=FontBox->Text;
Image1->Canvas->Font->Size=30;
Image1->Canvas->TextOut(0,0,Editor->SelText);
}
}
//---------------------------------------------------------------------------
TTextAttributes *__fastcall TForm1::CurrText(void)
{
return Editor->SelAttributes;
}
//---------------------------------------------------------------------------
int __stdcall EnumFontsProc(TLogFontA &LogFont, TTextMetricA &/*TextMetric*/,
int /*FontType*/, Pointer Data)
{
TCharsetObject *FontCharset;
FontCharset = new TCharsetObject((int)LogFont.lfCharSet);
((TStrings *)Data)->AddObject((AnsiString)LogFont.lfFaceName,FontCharset);
return 1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GetFontNames(void)
{
HDC hDC = GetDC(Handle);
void * cTmp = (void *)FontBox->Items;
EnumFonts(hDC, NULL, (FONTENUMPROC)EnumFontsProc, (long) cTmp );
ReleaseDC(0,hDC);
FontBox->Sorted = True;
}
//----------------------------------------------------------------------------
__fastcall TCharsetObject::TCharsetObject(int FCharset)
: TObject()
{
Charset = FCharset;
}
void __fastcall TForm1::FontSizeChange(TObject *Sender)
{
if(FontSize->ItemIndex<16)
CurrText()->Size=FontSizeCtoN[FontSize->ItemIndex];
else
CurrText()->Size=FontSize->Text.ToDouble();
Image1->Picture=NULL;
Image1->Canvas->Font->Size=CurrText()->Size;
Image1->Canvas->Font->Name=FontBox->Text;
Image1->Canvas->TextOut(0,0,Editor->SelText);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -