unit2.cpp
来自「本书《C++Builder与WindowsAPI经典范例》附含配套光盘包括132」· C++ 代码 · 共 51 行
CPP
51 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//-字体对话框与打印对话框的callback函数----------------------------------------------------
UINT APIENTRY CFHookProc(HWND hdlg, UINT uiMsg,
WPARAM wParam, LPARAM lParam);
UINT APIENTRY PrintHookProc(HWND hdlg, UINT uiMsg,
WPARAM wParam, LPARAM lParam);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//LOGFONT结构为CHOOSEFONT结构的成员
LOGFONT lf;
::ZeroMemory(&lf, sizeof(&lf));
//设置CHOOSEFONT结构成员
CHOOSEFONT cf;
::ZeroMemory(&cf, sizeof(CHOOSEFONT));
cf.lStructSize = sizeof(CHOOSEFONT);
cf.hwndOwner = Handle;
cf.lpLogFont = &lf;
//指定callback函数CFHookProc
cf.lpfnHook = CFHookProc;
cf.Flags = CF_SCREENFONTS | CF_EFFECTS | CF_ENABLEHOOK | CF_SHOWHELP;
//打开字体对话框
if(::ChooseFont(&cf))
{//改变StaticText1字体&尺寸
StaticText1->Font->Handle =
::CreateFontIndirect(cf.lpLogFont);
}
}
//---------------------------------------------------------------------------
//字体对话框CHOOSEFONT结构的callback函数
UINT APIENTRY CFHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam,
LPARAM lParam)
{
//grp1,grp2,pshHelp,psh2定义在dlgs.h中,故需 #include <dlgs.h>
if (uiMsg == WM_INITDIALOG)
{
::EnableWindow(::GetDlgItem(hdlg, grp1), false);//<效果>外框
::EnableWindow(::GetDlgItem(hdlg, grp2), false);//<范例>外框
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?