代码文件:


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[..] of Integer = (FontStyleRegular,
                                  FontStyleBold,
                                  FontStyleItalic,
                                  FontStyleBoldItalic,
                                  FontStyleUnderline,
                                  FontStyleStrikeout);
var
  i: Integer;
begin
  fs := ;
  for i := to CheckListBox1.Items.Count - 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[] := 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('微软雅黑', , fs);
  g.DrawString('Delphi', -, font, MakePoint(CheckListBox1.Width + 0.0, ), sb);   font.Free;
  sb.Free;
  g.Free;
end; end.

窗体文件:


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

文本样式的定义:


FontStyle = Integer;
const
  FontStyleRegular    = Integer(); {普通文本}
  FontStyleBold      = Integer(); {加粗文本}
  FontStyleItalic    = Integer(); {倾斜文本}
  FontStyleBoldItalic = Integer(); {加粗并倾斜文本}
  FontStyleUnderline  = Integer(); {带下划线的文本}
  FontStyleStrikeout  = Integer(); {中间有直线通过的文本}
Type
TFontStyle = FontStyle;

再学 GDI+文本输出文本样式的更多相关文章

  1. VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)

    上一节中鸡啄米讲了MFC异常处理,本节的主要内容是字体CFont类. 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在 ...

  2. VS2010-MFC(字体和文本输出:CFont字体类)

    转自:http://www.jizhuomi.com/software/239.html 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一 ...

  3. Directx11教程(66) D3D11屏幕文本输出(1)

    原文:Directx11教程(66) D3D11屏幕文本输出(1)      在D3D10中,通过ID3DX10Font接口对象,我们可以方便的在屏幕上输出文字信息,一个DrawText函数就能解决所 ...

  4. Windows程序设计(第五版)学习:第四章 文本输出

    第四章 文本输出 1,客户区:整个应用程序窗口中没有被标题栏.边框.菜单栏.工具栏.状态栏和滚动条占用的区域.简而言之,客户区就是窗口中程序可以在上面绘制并向用户传达可视化信息的区域.   2,大多数 ...

  5. MFC字体与文本输出

    字体 成员函数 1.CFont( ); 构造一个CFont对象.此对象在使用之前应该先使用CreateFont.CreateFontIndirect.CreatePointFont或CreatePoi ...

  6. 《windows程序设计》学习_4:文本输出,加滚动条

    //总行数 #define NUMLINES ((int) (sizeof sysmetrics / sizeof sysmetrics [0])) struct { int Index ; TCHA ...

  7. VS2010/MFC字体和文本输出:文本输出

    字体和文本输出:文本输出 本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确定字体.字体颜色和输出的文本内容等信息.Windows窗口的客户区由应用程序管理,所以我们还 ...

  8. VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)

    鸡啄米在上一节中讲了CFont字体类,本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确定字体.字体颜色和输出的文本内容等信息.Windows窗口的客户区由应用程序管理 ...

  9. Direct3D 10学习笔记(三)——文本输出

    本篇将简单整理Direct3D 10的文本输出的实现,具体内容参照< Introduction to 3D Game Programming with DirectX 10>(中文版有汤毅 ...

随机推荐

  1. Android开发 VideoView视频播放详解

    前言 VideoView是Android主要的视频播放View,它其实是对MediaPlayer的再次封装.如果你已经了解过MediaPlayer在使用VideoView是十分简单的.如果你想先了解M ...

  2. Ubuntu图形界面和终端界面切换快捷键

    Ctrl+Alt+F1可以从图形界面切换到终端界面. Ctrl+Alt+F7可以从终端界面退出来,重新回到图形界面

  3. 深入理解Magento – 第十章、十一章(英文原版地址,仅供参考)

    深入理解Magento – 第十章 – Magento系统覆盖和升级 http://alanstorm.com/magento_upgrade_rewrite_override 深入理解MAGENTO ...

  4. 树形dp+贪心+增量法+排序——cf1241E(好题)

    /* 给定一棵树,每个结点最多选和其相连的k条边,问使边权和最大的策略 dp[u][0|1]用来表示u没连父边|连了父边 时u子树下的最优解 如果u不和任意一个儿子连边,那么u下的收益是tot=sum ...

  5. 关于python语言学习心得

    最近又开始学习代码了,中途停顿了2个月左右,学习贵在坚持. 内心非常渴望学会一门编程语言,对代码目前来说还不是排斥. 也没有什么好的学习方法,只是按照同事说的,买了一本书籍来,边看边练习,先熟悉它的语 ...

  6. phpMailer 手册

    phpMailer5.0.0属性: 英文地址:http://phpmailer.worxware.com/index.php?pg=properties 属性 (v5.0.0) 类型 默认 描述 $P ...

  7. Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别  Pig

    Hadoop生态上几个技术的关系与区别:hive.pig.hbase 关系与区别 Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的 ...

  8. 19、Page Object 实例

    项目目录介绍: CalcuatorPage.java文件代码: package example; import io.appium.java_client.android.AndroidDriver; ...

  9. 冲上云霄,Dubbo Go!

    来源:开源中国社区 5 月 21 日,经过一年多的孵化,Apache Dubbo 从 Apache 软件基金会毕业,成为 Apache 顶级项目.推荐:厉害了,Dubbo 正式毕业! Dubbo 是阿 ...

  10. Excel简单应用

    数据透视表的简单应用 LEN.LENB MID LEFT,RIGHT CONCATENATE 和 & TRIM(去掉前后空格) 和 SUBSTITUDE(去空格,包括字符串之间的空格) FIN ...