이 팁은 다국어 버전의 프로그램을 만들때, OS마다 폰트가 약간씩 차이날때 유용하게 써먹을 수 있는 팁입니다.
- unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TfrmSystemFont = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
lblSysFont: TLabel;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmSystemFont: TfrmSystemFont;
implementation
{$R *.DFM}
procedure TfrmSystemFont.FormCreate(Sender: TObject);
begin
// frmSystemFont 폼의 폰트를 시스템의 MenuFont로 설정합니다.
Self.Font.Assign(Screen.MenuFont);
// 이폼의 폰트가 부모 폰트가 되도록 설정합니다.
// 하위 컨트롤들은 부모 폰트를 따르게 됩니다.
Self.ParentFont := True;
end;
end.
윈도우에 폰트 설치 / 제거 하기
- // 폰트 설치
AddFontResource(PChar('XXXFont.TTF'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
// 폰트 제거
RemoveFontResource(PChar('XXXFont.TTF'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
폰트에 안티알리아스 적용하기
- procedure TForm1.Button1Click(Sender: TObject);
var
LogFont : TLogFont;
begin
Canvas.Font.Name := '굴림체';
Canvas.Font.Size := 40;
{*}GetObject(Canvas.Font.Handle, SizeOf(LogFont), Addr(LogFont));
{*}LogFont.lfQuality := ANTIALIASED_QUALITY;
{*}Canvas.Font.Handle := CreateFontIndirect(LogFont);
Canvas.TextOut(100,100,'안녕하세요');
end;
사용가능한 폰트 확인하기
- .....
- uses
- ..., printers;
- ....
- ....
- procedure aaaa;
- begin
- .... := screen.fonts // 스트링리스트 형식으로 사용가능한 폰트를 보여줌.
- end;
'Dev > Delphi' 카테고리의 다른 글
TWindowsMediaPlayer - Component (0) | 2011.06.10 |
---|---|
TImageButton 만들기 (1) | 2011.05.31 |
델파이 오픈 소스. (1) | 2011.05.31 |
델파이 콤포넌트 만들기 외 2건의 레퍼런스(함수,VCL) 문서 (0) | 2011.05.31 |
Form의 BorderStyle=bsNone일때 폼의 이동 (0) | 2011.05.31 |
폼생성시 이벤트 발생 순서 (VCL) 폼생성/폼종료 시 이벤트 발생 순서 (0) | 2011.05.31 |
오류메시지 "Cannot Change Visible in Onshow or OnHide" (0) | 2011.05.31 |
윈도우 버젼 정보가져오기 (0) | 2011.05.31 |
델파이 몇개 간단한 팁들 (0) | 2011.05.31 |
Delphi 2007에서 firebird를 사용하자. (0) | 2011.05.31 |