CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

API函数DrawText的换行输出文本问题!!!!

楼主lingbin(吴斌)2005-06-02 17:46:28 在 Delphi / Windows SDK/API 提问

我用  
  DrawText(Canvas.Handle,   PChar(PBottomCaption),   -1,   ARect,  
                    DT_WORDBREAK   or   DT_CENTER   or   DT_VCENTER);  
  输出的文本可以换行显示,但是为什么他不会居中呢,我用以下:  
  DrawText(Canvas.Handle,   PChar(PTopCaption),   -1,   Rect,  
                    DT_CENTER   or   DT_SINGLELINE   or   DT_VCENTER);  
  可以居中,但是它只是单行显示,我现在想可以换行显示,有没有其他办法?  
  DrawText的uFormat参数是用于设置文本输出位置,DT_CENTER   or   DT_VCENTER这两个应该  
  是居中输出,但是一加上DT_WORDBREAK就不行了,这是不是DrawText的一个Bug呢?  
  高手请教!!!!!!!! 问题点数:50、回复次数:8Top

1 楼godear()回复于 2005-06-02 17:59:16 得分 0

这是api,   不是delphi的问题吧,   实在不行,   只有自己先截断了Top

2 楼lingbin(吴斌)回复于 2005-06-03 11:10:34 得分 0

to     godear():  
  现在不是不可以换行,是不可以居中的问题.  
  现在只可以左右居中,不可以上下居中,意思是说输出的文本是在顶部的,不会居中到中间.Top

3 楼kongguangming(Fly)回复于 2005-06-03 11:32:45 得分 0

多行形式无法居中Top

4 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2005-06-03 15:42:21 得分 50

没有问题啊,下面的代码可以在Image控件上面换行输出文本:  
   
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      PBottomCaption   :   string;  
      ARect   :   TRect;  
  begin  
      with   Arect   do  
      begin  
          Left   :=   0;  
          Right   :=   Image1.Width;  
          Top   :=   0;  
          Bottom   :=   Image1.Height;  
      end;  
   
      PBottomCaption   :=   'Sets   tab   stops.   Bits   15–8   (high-order   byte   of   the   low-order   word)   of   the   uFormat   parameter   specify   the   number   of   characters   for   each   tab.   The   default   number   of   characters   per   tab   is   eight.   The   DT_CALCRECT,   DT_EXTERNALLEADING,   DT_INTERNAL,   DT_NOCLIP';  
      DrawText(Image1.Canvas.Handle,   PChar(PBottomCaption),   -1,   ARect,  
                    DT_WORDBREAK   or   DT_CENTER   or   DT_VCENTER);  
  end;Top

5 楼g961681(技术庸人(情商太低))回复于 2005-06-03 16:03:44 得分 0

这好象是API的问题,没办法!Top

6 楼lingbin(吴斌)回复于 2005-06-03 16:36:05 得分 0

to   TechnoFantasy(冰儿马甲www.applevb.com):  
  现在不是不可以换行是不可以居中啊,老大.Top

7 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2005-06-05 15:26:19 得分 0

我的是即可以换行也可以居中。Top

8 楼lingbin(吴斌)回复于 2005-06-12 15:06:40 得分 0

to   TechnoFantasy(冰儿马甲www.applevb.com)   :  
  不会吧,我的怎么不可以呢,那你可不可以把你的代码贴出来一下.Top

相关问题

  • 用drawtext函数输出字体,如何改变行距?
  • 请问用API 函数TextOut输出的 文字???
  • 哪个API函数可以输出一个变量的值?
  • 哪个API函数能够得出'netstat -n'命令输出的信息?
  • 用API函数textout输出字符时,如何指定字符的输出大小及字体?
  • api函数
  • 求API函数?
  • API函数
  • API函数
  • API 函数!

关键词

  • 文本
  • 居中
  • drawtext
  • pbottomcaption
  • dt
  • 输出
  • vcenter
  • 换行
  • arect
  • wordbreak

得分解答快速导航

  • 帖主:lingbin
  • TechnoFantasy

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo