📄 postmain.cpp
字号:
lf.lfWeight=FW_NORMAL;
lf.lfCharSet=DEFAULT_CHARSET;
lf.lfOutPrecision=OUT_DEFAULT_PRECIS;
lf.lfClipPrecision=CLIP_DEFAULT_PRECIS;
lf.lfQuality=DEFAULT_QUALITY ;
lf.lfPitchAndFamily=DEFAULT_PITCH | FF_DONTCARE;
strcpy(lf.lfFaceName, "新字体");
lf.lfWidth=35;
lf.lfHeight=50;
Canvas->Font->Color=TColor(0x00BD00BD);
Canvas->Font->Handle = CreateFontIndirect(&lf);
Canvas->TextOutA(50, 250, "再见,欢迎再来!");
Sleep(1000);
int h=ToolBar1->Top+ToolBar1->Height;
TRect BandRect;
int Step;
for(int range=79; range<81; range++){
Step=(float) ClientHeight/(range * 2); //256 bandes de couleur
for(int i=0, c=120-range ;i<range * 2;i++, c++){
BandRect.Left=0;
BandRect.Top=(int)(i*Step) + h;
BandRect.Right=ClientWidth+1;
BandRect.Bottom=(int)((i+1)*Step) + h; // bandes horizontales
Canvas->Brush->Color=TColor(RGB(c,c,210)); // bandes bleues
Canvas->FillRect(BandRect);
}
}
Sleep(1500);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormPaint(TObject *Sender)
{
if(!Timer1->Enabled)
Canvas->CopyRect(Rect(0, ToolBar1->Top+ToolBar1->Height, Bitmap->Width, Bitmap->Height+ToolBar1->Top+ToolBar1->Height), Bitmap->Canvas, Rect(0, 0, Bitmap->Width, Bitmap->Height) );
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{
OpenDialog2->InitialDir="..\\Image";
if(OpenDialog2->Execute()) SnEdit1->Text=OpenDialog2->FileName;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N4Click(TObject *Sender)
{
Panel1->Visible=true;
sndPlaySound("../sound/Gpnew.wav", SND_ASYNC);
TRect rect = Rect(Left,Top, Left + Panel1->Width, Top + Panel1->Height);
Panel1->ManualFloat(rect);
SnEdit1->Text=BgFile;
SnRadioButtonGroup1->ItemIndex=StartStyle;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton3Click(TObject *Sender)
{
BgFile=SnEdit1->Text;
StartStyle=SnRadioButtonGroup1->ItemIndex;
Bitmap->LoadFromFile(BgFile);
Times=0;
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton2Click(TObject *Sender)
{
SpeedButton3->Click();
Panel1->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton4Click(TObject *Sender)
{
Panel1->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton3Click(TObject *Sender)
{
N4Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N10Click(TObject *Sender)
{
TNewspaperForm *Form=new TNewspaperForm(this);
Form->Top=(cy - Form->Height) / 2;
Form->Left=(cx - Form->Width) / 2;
Form->ShowModal();
delete Form;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N11Click(TObject *Sender)
{
TOfficeForm *Form=new TOfficeForm(this);
Form->Top=(cy - Form->Height) / 2;
Form->Left=(cx - Form->Width) / 2;
Form->ShowModal();
delete Form;
}
//---------------------------------------------------------------------------
//--------------------------------------------------------------------------
//根据汉字编码取得其拼音首字符
//有些字取不到(如"咔")
/*
char __fastcall GetPYChar(AnsiString HZ)
{
if(HZ.Trim().IsEmpty()||HZ.Length()!=2) return ' ';
WORD n = MAKEWORD(BYTE(HZ[2]),BYTE(HZ[1]));
if ( 0xB0A1<=n && n<=0xB0C4 ) return 'A';
if ( 0XB0C5<=n && n<=0XB2C0 ) return 'B';
if ( 0xB2C1<=n && n<=0xB4ED ) return 'C';
if ( 0xB4EE<=n && n<=0xB6E9 ) return 'D';
if ( 0xB6EA<=n && n<=0xB7A1 ) return 'E';
if ( 0xB7A2<=n && n<=0xB8C0 ) return 'F';
if ( 0xB8C1<=n && n<=0xB9FD ) return 'G';
if ( 0xB9FE<=n && n<=0xBBF6 ) return 'H';
if ( 0xBBF7<=n && n<=0xBFA5 ) return 'J';
if ( 0xBFA6<=n && n<=0xC0AB ) return 'K';
if ( 0xC0AC<=n && n<=0xC2E7 ) return 'L';
if ( 0xC2E8<=n && n<=0xC4C2 ) return 'M';
if ( 0xC4C3<=n && n<=0xC5B5 ) return 'N';
if ( 0xC5B6<=n && n<=0xC5BD ) return 'O';
if ( 0xC5BE<=n && n<=0xC6D9 ) return 'P';
if ( 0xC6DA<=n && n<=0xC8BA ) return 'Q';
if ( 0xC8BB<=n && n<=0xC8F5 ) return 'R';
if ( 0xC8F6<=n && n<=0xCBF0 ) return 'S';
if ( 0xCBFA<=n && n<=0xCDD9 ) return 'T';
if ( 0xCDDA<=n && n<=0xCEF3 ) return 'W';
if ( 0xCEF4<=n && n<=0xD188 ) return 'X';
if ( 0xD1B9<=n && n<=0xD4D0 ) return 'Y';
if ( 0xD4D1<=n && n<=0xD7F9 ) return 'Z';
return ' ';
}
//--------------------------------------------------------------------------
//取得指定汉字串的拼音首字符串
//非汉字不处理
AnsiString __fastcall GetPYString(AnsiString HZString)
{
AnsiString sRet="";
AnsiString s = HZString.Trim();
if(s.IsEmpty())return sRet="";
for(int i=1;i<s.Length();i++){
if((unsigned int)s[i]>0xA0 && (unsigned int)s[i+1]>0xA0){
sRet+= (AnsiString)GetPYChar(s.SubString(i,2));
i++;
}
else sRet+= (AnsiString)s[i];
}
return sRet;
}
*/
//--------------------------------------------------------------------------
//in:汉字串
//out:汉字拼音缩写
AnsiString ConvertHZToPY(char *as_HzString)
{
static int li_SecPosValue[]={1601,1637,1833,2078,2274,2302,2433,2594,2787,3106,3212,3472,3635,3722,3730,3858,4027,4086,4390,4558,4684,4925,5249};
static char* lc_FirstLetter[] = {"A", "B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"};
static char* ls_SecondSecTable =
"CJWGNSPGCGNE[Y[BTYYZDXYKYGT[JNNJQMBSGZSCYJSYY[PGKBZGY[YWJKGKLJYWKPJQHY[W[DZLSGMRYPYWWCCKZNKYYGTTNJJNYKKZYTCJNMCYLQLYPYQFQRPZSLWBTGKJFYXJWZLTBNCXJJJJTXDTTSQZYCDXXHGCK[PHFFSS[YBGXLPPBYLL[HLXS[ZM[JHSOJNGHDZQYKLGJHSGQZHXQGKEZZWYSCSCJXYEYXADZPMDSSMZJZQJYZC[J[WQJBYZPXGZNZCPWHKXHQKMWFBPBYDTJZZKQHY"
"LYGXFPTYJYYZPSZLFCHMQSHGMXXSXJ[[DCSBBQBEFSJYHXWGZKPYLQBGLDLCCTNMAYDDKSSNGYCSGXLYZAYBNPTSDKDYLHGYMYLCXPY[JNDQJWXQXFYYFJLEJPZRXCCQWQQSBNKYMGPLBMJRQCFLNYMYQMSQYRBCJTHZTQFRXQHXMJJCJLXQGJMSHZKBSWYEMYLTXFSYDSWLYCJQXSJNQBSCTYHBFTDCYZDJWYGHQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCLQKXLHXJRZJMFQHXHWY"
"WSBHTRXXGLHQHFNM[YKLDYXZPYLGG[MTCFPAJJZYLJTYANJGBJPLQGDZYQYAXBKYSECJSZNSLYZHSXLZCGHPXZHZNYTDSBCJKDLZAYFMYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDJMMZNGMMCLGWZSZXZJFZNMLZZTHCSYDBDLLSCDDNLKJYKJSYCJLKWHQASDKNHCSGANHDAASHTCPLCPQYBSDMPJLPZJOQLCDHJJYSPRCHN[NNLHLYYQYHWZPTCZGWWMZFFJQQQQYXACLBHKDJXDGMMY"
"DJXZLLSYGXGKJRYWZWYCLZMSSJZLDBYD[FCXYHLXCHYZJQ[[QAGMNYXPFRKSSBJLYXYSYGLNSCMHZWWMNZJJLXXHCHSY[[TTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLY[DCCWZOCWKCCSBNHCPDYZNFCYYTYCKXKYBSQKKYTQQXFCWCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHEQQHTQH[PQ[QSCFYMNDMGBWHWLGSLLYSDLMLXPTHMJHWLJZYHZJXHTXJLHXRSWLWZJCBXMHZQXSDZP"
"MGFCSGLSXYMJSHXPJXWMYQKSMYPLRTHBXFTPMHYXLCHLHLZYLXGSSSSTCLSLDCLRPBHZHXYYFHB[GDMYCNQQWLQHJJ[YWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSL[HTZKZJECXJCJNMFBY[SFYWYBJZGNYSDZSQYRSLJPCLPWXSDWEJBJCBCNAYTWGMPAPCLYQPCLZXSBNMSGGFNZJJBZSFZYNDXHPLQKZCZWALSBCCJX[YZGWKYPSGXFZFCDKHJGXDLQFSGDSLQWZKXTMHSBGZMJZRGLYJB"
"PMLMSXLZJQQHZYJCZYDJWBMYKLDDPMJEGXYHYLXHLQYQHKYCWCJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZNZZLJPLXXYZTZLGDLDCKLYRZZGQTGJHHGJLJAXFGFJZSLCFDQZLCLGJDJCSNZLLJPJQDCCLCJXMYZFTSXGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKLZYZHLYSZQLZNWCZCLLWJQJJJKDGJZOLBBZPPGLGHTGZXYGHZMYCNQSYCYHBHGXKAMTX"
"YXNBSKYZZGJZLQJDFCJXDYGJQJJPMGWGJJJPKQSBGBMMCJSSCLPQPDXCDYYKY[CJDDYYGYWRHJRTGZNYQLDKLJSZZGZQZJGDYKSHPZMTLCPWNJAFYZDJCNMWESCYGLBTZCGMSSLLYXQSXSBSJSBBSGGHFJLYPMZJNLYYWDQSHZXTYYWHMZYHYWDBXBTLMSYYYFSXJC[DXXLHJHF[SXZQHFZMZCZTQCXZXRTTDJHNNYZQQMNQDMMG[YDXMJGDHCDYZBFFALLZTDLTFXMXQZDNGWQDBDCZJDXBZGS"
"QQDDJCMBKZFFXMKDMDSYYSZCMLJDSYNSBRSKMKMPCKLGDBQTFZSWTFGGLYPLLJZHGJ[GYPZLTCSMCNBTJBQFKTHBYZGKPBBYMTDSSXTBNPDKLEYCJNYDDYKZDDHQHSDZSCTARLLTKZLGECLLKJLQJAQNBDKKGHPJTZQKSECSHALQFMMGJNLYJBBTMLYZXDCJPLDLPCQDHZYCBZSCZBZMSLJFLKRZJSNFRGJHXPDHYJYBZGDLQCSEZGXLBLGYXTWMABCHECMWYJYZLLJJYHLG[DJLSLYGKDZPZXJ"
"YYZLWCXSZFGWYYDLYHCLJSCMBJHBLYZLYCBLYDPDQYSXQZBYTDKYXJY[CNRJMPDJGKLCLJBCTBJDDBBLBLCZQRPPXJCJLZCSHLTOLJNMDDDLNGKAQHQHJGYKHEZNMSHRP[QQJCHGMFPRXHJGDYCHGHLYRZQLCYQJNZSQTKQJYMSZSWLCFQQQXYFGGYPTQWLMCRNFKKFSYYLQBMQAMMMYXCTPSHCPTXXZZSMPHPSHMCLMLDQFYQXSZYYDYJZZHQPDSZGLSTJBCKBXYQZJSGPSXQZQZRQTBDKYXZK"
"HHGFLBCSMDLDGDZDBLZYYCXNNCSYBZBFGLZZXSWMSCCMQNJQSBDQSJTXXMBLTXZCLZSHZCXRQJGJYLXZFJPHYMZQQYDFQJJLZZNZJCDGZYGCTXMZYSCTLKPHTXHTLBJXJLXSCDQXCBBTJFQZFSLTJBTKQBXXJJLJCHCZDBZJDCZJDCPRNPQCJPFCZLCLZXZDMXMPHJSGZGSZZQLYLWTJPFSYASMCJBTZKYCWMYTCSJJLJCQLWZMALBXYFBPNLSFHTGJWEJJXXGLLJSTGSHJQLZFKCGNNNSZFDEQ"
"FHBSAQTGYLBXMMYGSZLDYDQMJJRGBJTKGDHGKBLQKBDMBYLXWCXYTTYBKMRTJZXQJBHLMHMJJZMQASLDCYXYQDLQCAFYWYXQHZ";
AnsiString result = "";
int H,L,W;
int stringlen = strlen(as_HzString);
for(int i = 0; i < stringlen; i ++ ) {
H = (unsigned char)(as_HzString[i]);
L = (unsigned char)(as_HzString[i+1]);
if(H < 0xA1 || L < 0xA1){
result += as_HzString[i];
continue;
}
else W = (H - 160) * 100 + L - 160;
if(W > 1600 && W < 5590) {
for(int j = 22; j >= 0; j --)
if(W >= li_SecPosValue[j]) {
result += lc_FirstLetter[j];
i++;
break;
}
continue;
}
else {
i++;
W = ( H - 160 - 56 )*94 + L - 161;
if(W >= 0 && W <= 3007)
result += ls_SecondSecTable[W];
else {
result += (char)H;
result += (char)L;
}
}
}
return result;
}
//--------------------------------------------------------------------------
//---------------------------------------------------------------------------
bool IsNT()
{
bool blNT;
DWORD dwVersion = GetVersion();
if (dwVersion < 0x80000000) //NT
blNT = true ;
else blNT = false ;
return blNT;
}
void PlayWarnningSound ( int delay , int freq )
{
const int scale = 1193180 ;
WORD freqTemp = (WORD)(scale/freq) ;
if ( IsNT() ) //NT,2000 and XP
{
Beep ( freq, delay ) ;
return ;
}
asm //发声
{
in al,61h;
or al,3;
out 61h,al;
mov al,0xb6;
out 43h,al;
mov ax,freqTemp;
out 42h,al;
mov al,ah;
out 42h,al;
}
Sleep ( delay ) ;
asm //关闭声音
{
in al,0x61;
and al,0xfc;
out 0x61,al;
}
}
void __fastcall TMainForm:: WarnBeep()
{
PlayWarnningSound(50, 120);
PlayWarnningSound(50, 300);
PlayWarnningSound(200,500);
}
//--------------------------------------------------------------------------
void __fastcall TMainForm::N8Click(TObject *Sender)
{
TOrderForm *Form=new TOrderForm(this);
Form->Top=(cy - Form->Height) / 2;
Form->Left=(cx - Form->Width) / 2;
Form->ShowModal();
delete Form;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N9Click(TObject *Sender)
{
TQueryForm *Form=new TQueryForm(this);
Form->QueryTag=9;
Form->Top=(cy - Form->Height) / 2;
Form->Left=(cx - Form->Width) / 2;
Form->ShowModal();
delete Form;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N12Click(TObject *Sender)
{
TQueryForm *Form=new TQueryForm(this);
Form->QueryTag=12;
Form->Top=(cy - Form->Height) / 2;
Form->Left=(cx - Form->Width) / 2;
Form->ShowModal();
delete Form;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton14Click(TObject *Sender)
{
::ShellExecute(Handle,"open","../help/readme.chm",NULL,NULL,SW_SHOW);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -