关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 构件使用 ->详细
相关内容  
 
 
在程序运行期设置QUERY控件的PARAMS
 
【新品推荐】

  详细内容
 

制作Delphi的竖排标签
作者: 评价: 上站日期: 2001-05-09
内容说明:
来源:

  大家知道用Deiphi开发应用程序时标签是必不可少的,但是Deiphi 提供的Label构件只支持横排方式的标签,而不支持竖排方式标签。怎么办?

  编写一段简单的函数就可以把标签从横排变成竖排。因为中文字符集是用两个字节表示一个字符的,所以应在字符串的每两个字节之间加入回车换行符。这个函数的参数是一字符串,返回值是在中文字符之间添加了回车换行符的一个新的字符串。

  下面就举例说明:我们以竖排方式显示一首诗。

  新建一工程。

  首先在implementation部分定义一个字符串数组常量poemary,该数组的每一个成员顺序存放了诗中的一句。

  const

  poemary: array[0..6] of string = ('游子吟', '慈母手中线', '游子身上衣', '临行密密缝', '意恐迟迟归', '谁言寸草心', '报得叁春晖');

  随后,在implementation部分加入字符串转换函数,代码如下:

  function convertstring(source:string):string;

  var

  i,j:integer;

  a,b:array[0..50] of char;

  begin

  StrPCopy(a, source) ;

  j:=0; i:=0;

  while (a[j] < > #0) do begin

  b[i]:=a[j];

  if (j mod 2=1)and(j> 0) then begin

  Inc(i); b[i]:=#13;

  end;

  Inc(j); Inc(i);

  end;

  b[i-1]:=#0;

  result:= strpas(b);

  end;


  最后添加Form1的OnCreate事件。注意:要在uses子句中添加单元名称stdctrls。

  procedure TForm1.FormCreate(Sender: TObject);

  var

  labary:array[0..6] of Tlabel;

  i:integer;

  begin

  for i:=0 to 6 do

  begin

  labary[i]:=Tlabel.Create(self);

  labary[i].parent:=self;

  labary[i].caption:=convertstring(poemary[i]);

  labary[i].top:=(form1.Height-labary[i].height) div 2;

  labary[i].left:=10+i*33;

  end;

  end;

  运行结果如图所示,此程序在Windows 95,Delphi3.0环境中运行通过。   


 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 构件使用 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0