文档章节

再学 GDI+[41]: 文本输出 - 控制输出字符的个数

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 214
阅读 7
收藏 0
本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormClick(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses GDIPOBJ,GDIPAPI;

var
  pc: PChar = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  num: Integer;

procedure TForm1.FormPaint(Sender: TObject);
var
  g: TGPGraphics;
  b: TGPBrush;
  font: TGPFont;
begin
  g := TGPGraphics.Create(Canvas.Handle);
  b := TGPSolidBrush.Create(aclGoldenrod);

  font := TGPFont.Create('Arial Black', 18, FontStyleRegular);
  
  {参数 2 为输出字符的个数, -1 表示全部输出}
  g.DrawString(pc, num, font, MakePoint(5.0, 5), b);

  b.Free;
  font.Free;
  g.Free;
end;

procedure TForm1.FormClick(Sender: TObject);
var
  i,n: Integer;
begin
  n := Length(pc);
  num := 0;
  for i:= 1 to n do
  begin
    num := i;
    Repaint;
    Sleep(100);
    Application.ProcessMessages;
  end;

  num := -1;
  for i:= 1 to Length(pc) do
  begin
    Inc(pc);
    Repaint;
    Sleep(100);
    Application.ProcessMessages;
  end;

  Dec(pc,n);
end;

end.

 
 
 
 
 

 

 

  
窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 42
  ClientWidth = 501
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  OnClick = FormClick
  OnPaint = FormPaint
  PixelsPerInch = 96
  TextHeight = 13
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/06/16/1223236.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
printf("\033[1;33m Hello World. \033[0m \n");有趣的串口之超级终端的玩法

转载自:http://blog.csdn.net/hanghang121/article/details/40825527 颜色特效控制: printf("033[1;33m Hello World. 033[0m n"); 颜色如下: none = "033[0m" black = "033[0;30m" dark_gr......

lv18092081172
2017/10/09
0
0
深度解读 - Windows 7核心图形架构细致分析(转贴)

原帖地址:http://technet.microsoft.com/zh-cn/library/ee921514.aspx 如现在大家所想的那样, Windows7 其实是 Windows Vista 的改进版。 Windows 7 在 Windows Vista 的基础上进行了大量的...

迈克老狼1
2012/12/23
0
0
使用 ICU4J 进行 BiDi 开发

构造函数 表 1. BiDi 构造函数表 函数签名 详细信息 BiDi() 默认构造函数,调用 this(0,0) BiDi(int maxLength, int maxRunCount) 以文本的最大长度和 Run 的最大个数构造 BiDi 对象,预先分...

红薯
2009/05/16
1K
1
Java IO流 序列列一:字符编码

字符编码 先来看一下不同的字符编码 String s = "爪哇ABC"; 1.1 utf-8编码 utf8编码:中文占用3个字节,英文占用1个字节 byte[] bytes = s.getBytes("utf-8"); for(byte b : bytes){ //把字节...

哈鼎
2014/11/09
0
0
关于GDI+在透明Bitmap上绘制时边缘有黑色重影的解决(WPF中)

最近在做软件工程课程的作业,其中有一个地方需要用到GDI+绘制图像并将句柄传给托盘当作托盘图标,可是因为楼主本人的强迫症比较严重,所以在测试时发现了一些小问题: 红线中是托盘区最左侧...

q886yes
04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js实现产生n个随机数,并且随机数之和是固定值

function getrandom(minnum , maxnum ,total,size){ var num = total; //定义整数 var length= size; //定义多个整数的数量 var numArr = []; while(length > 1){ var rnd = Math.floor(Mat......

开源昕昕
28分钟前
2
0
精选Spring Boot三十五道必知必会知识点!

Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家。本文精选了三十五个常见的Spring Boot知识点,祝你一臂之力! 问题一 Spring Boot、Spring MVC 和 Sp...

Java填坑之路
29分钟前
2
0
MyBatis学习笔记

相关文档 mybatis深入理解(一)之 # 与 $ 区别以及 sql 预编译 MyBatis 处理sql中的 大于,小于,大于等于,小于等于

OSC_fly
30分钟前
0
0
Gradle从不同地方复制文件到一个文件夹/打zip包

复制 task copySDK(type: Copy, dependsOn: [":fatJarTask"]) { delete JAR_NAME delete SDK_OUT_PATH delete "$ROOT_BUILD_PATH/$SDK_ZIP_NAME" into('/jniLibs') {......

SuShine
30分钟前
1
0
CentOS关闭占用端口,修改Apache默认端口,并重启Apache

查找并关闭进程 在Linux系统中可以使用lsof命令和kill命令,两个命令配合查找并关闭占用端口的进程 查看某一端口使用情况的命令: lsof -i:端口号 效果如下,PID即进程的ID 根据PID关闭进程,...

临江仙卜算子
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部