代码文件:


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. goto和函数调用

      goto: 函数调用: 作用域 label在函数内定义,所以函数内   跳转操作 无条件 调用时先保存现场,复制实际参数,然后才是跳转 生存期 由于不是左值,它没有生存期,仅在编译期有意义.   ...

  2. Cesium导出PDF

    首先安装 html2Canvas 和 jspdf npm i html2Canvas - S npm i jspdf - S 然后在vue页面引入 import html2Canvas from 'h ...

  3. UDP协议解析 以及和TCP协议的区别

    UDP(User Data Protocol)是传输层的用户数据报协议,有复用和分用以及差错检测的功能. 1) 多路复用(针对发送主机):从不同套接字收集数据块,并为每个数据块封装上首部信息,生成报文 ...

  4. jQuery与Vue的区别、从jQuery到Vue框架优点总结

    一.两者的区别 1.数据与视图分离 2.数据驱动视图 二.从jQuery到Vue框架的总结 1.数据与视图分离,解耦 2.数据驱动视图,只关心数据,DOM操作已经被框架封装

  5. 测试使用python的用途

    使用Python:1. 分析日志,尤其是服务器端日志.脚本就是短小精悍的2. 用来生成测试数据,比如生成随机的10w个词,很麻烦:如果找一个字库,存在数表里,然后用Python取数据3. 做数据发出的 ...

  6. JZOI1169A 平均数Ave

    #include <cstdio> #include <cmath> #define lztin() read() #define ztyout( a ) printf( &q ...

  7. Java桌球小游戏

    版本一.出现窗口package cn.xjion.game;/** * 出现窗口 * @author xjion * */import java.awt.*;import javax.swing.*; ...

  8. robotframework悬浮菜单定位问题

      有些菜单是悬浮菜单,鼠标点上去下级元素才会显示.比如在第一个菜单中选择后会触发二级菜单的某事件,触发二级菜单又去点三级菜单.. 最开始就用click element去点击了,可是菜单会缩回去,就有 ...

  9. linux:lrzsz安装

    Linux中的lrzsc是linux里可代替ftp上传和下载的程序. yum install lrzsc 没有可用软件包 lrzsc. 这时使用 -y即可安装 centos安装:yum -y inst ...

  10. HDU 4109 Instrction Arrangement

    题目链接:https://vjudge.net/problem/HDU-4109 题目大意 有 N 个指令,标号从 0 ~ N - 1,和 M 个指令间的先后关系,每个关系都有一个权值 w,表示后一个 ...