程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 再學GDI+[39]: 文本輸出 - 文本樣式

再學GDI+[39]: 文本輸出 - 文本樣式

編輯:Delphi

本例效果圖:

代碼文件:unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, CheckLst;
type
 TForm1 = class(TForm)
  CheckListBox1: TCheckListBox;
  procedure FormPaint(Sender: TObject);
  procedure FormCreate(Sender: TObject);
  procedure CheckListBox1Click(Sender: TObject);
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
uses GDIPOBJ, GDIPAPI;
var fs: Integer;
procedure TForm1.CheckListBox1Click(Sender: TObject);
const
 fsArr: array[0..5] of Integer = (FontStyleRegular,
                  FontStyleBold,
                  FontStyleItalic,
                  FontStyleBoldItalic,
                  FontStyleUnderline,
                  FontStyleStrikeout);
var
 i: Integer;
begin
 fs := 0;
 for i := 0 to CheckListBox1.Items.Count - 1 do
  if CheckListBox1.Checked[i] then
   fs := fs or fsArr[i];
 Repaint;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
 CheckListBox1.Align := alLeft;
 CheckListBox1.Items.CommaText := 'FontStyleRegular,' +
                  'FontStyleBold,' +
                  'FontStyleItalic,' +
                  'FontStyleBoldItalic,' +
                  'FontStyleUnderline,' +
                  'FontStyleStrikeout';
 CheckListBox1.Checked[0] := True;
end;
procedure TForm1.FormPaint(Sender: TObject);
var
 g: TGPGraphics;
 sb: TGPSolidBrush;
 font: TGPFont;
begin
 g := TGPGraphics.Create(Canvas.Handle);
 sb := TGPSolidBrush.Create(aclRed);
 font := TGPFont.Create('微軟雅黑', 50, fs);
 g.DrawString('Delphi', -1, font, MakePoint(CheckListBox1.Width + 0.0, 0), sb);
 font.Free;
 sb.Free;
 g.Free;
end;
end.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved