To learn GDI + text output text style

Code files:


unit Unit1;

interfaceuses
  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 = (Font Tyler Gular,
                                   FontStyleBold,
                                   FontStyleItalic,
                                   FontStyleBoldItalic,
                                   FontStyle Underline,
                                   FontStyleStrikeout); was 
  i: Integer; begin 
  fs: = 0 ;
  for i: = 0 two 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.

Form file:


object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 98
  ClientWidth = 367
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  OnCreate = FormCreate
  OnPaint = FormPaint
  PixelsPerInch = 96
  TextHeight = 13
  object CheckListBox1: TCheckListBox
    Left = 8
    Top = 8
    Width = 113
    Height = 148
    ItemHeight = 13
    TabOrder = 0
    OnClick = CheckListBox1Click
  endend

Text style definition:


Integer = FontStyle;
 const 
  FontStyleRegular = Integer ( 0 ); {plain text} 
  FontStyleBold = Integer ( . 1 ); {bold text} 
  FontStyleItalic = Integer ( 2 ); {italicized text} 
  FontStyleBoldItalic = Integer ( . 3 ); {bold and italicized text} 
  FontStyleUnderline = Integer ( . 4 ); {underlined text} 
  FontStyleStrikeout = Integer ( . 8 ); {text line passing through the middle of} 
the Type 
TFontStyle = FontStyle;

 

Guess you like

Origin www.cnblogs.com/blogpro/p/11426655.html
Recommended