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

DrawText绘制多行文本为何失败?

楼主chnlog(飞鱼)2003-02-04 18:29:01 在 C++ Builder / Windows SDK/API 提问

在BCB5中的按钮Click事件中写了如下代码,但文本只能输出一行而不是多行   why?  
   
    AnsiString   st;  
    RECT   Re;  
    Re.left   =110;  
    Re.top   =210;  
    Re.right   =310;  
    Re.bottom   =400;  
   
    st   ="cphenafdsadsflkjdlvfdfdfdsafdlkjfdkjfdlfd";  
  //   SetTextAlign(Canvas->Handle,TA_LEFT);  
    Format   =DT_EDITCONTROL||DT_WORDBREAK||DT_LEFT;  
    ::DrawText(Canvas->Handle,   st.c_str(),st.Length(),   &Re,   DT_EDITCONTROL||DT_WORDBREAK||DT_LEFT); 问题点数:0、回复次数:4Top

1 楼shclhs(hello)回复于 2003-02-04 23:32:42 得分 0

我知道的DrawText好象只能是一行文本吧。Top

2 楼iYoung()回复于 2003-02-06 01:17:36 得分 0

try       DT_WORDBREAK   |   DT_LEFTTop

3 楼huzhangyou(信仰(http://www.libing.net.cn))回复于 2003-02-06 10:51:17 得分 0

当然可以画多行文本  
  可以侃侃参数的说明如下  
   
  DT_BOTTOM   必须同时指定DT_SINGLE。指示文本对齐格式化矩形的底边    
  DT_CALCRECT   象下面这样计算格式化矩形:多行绘图时矩形的底边根据需要进行延展,以便容下所有文字;单行绘图时,延展矩形的右侧。不描绘文字。由lpRect参数指定的矩形会载入计算出来的值    
  DT_CENTER   文本垂直居中    
  DT_EXPANDTABS   描绘文字的时候,对制表站进行扩展。默认的制表站间距是8个字符。但是,可用DT_TABSTOP标志改变这项设定    
  DT_EXTERNALLEADING   计算文本行高度的时候,使用当前字体的外部间距属性(the   external   leading   attribute)    
  DT_LEFT   文本左对齐    
  DT_NOCLIP   描绘文字时不剪切到指定的矩形    
  DT_NOPREFIX   通常,函数认为   &   字符表示应为下一个字符加上下划线。该标志禁止这种行为    
  DT_RIGHT   文本右对齐    
  DT_SINGLELINE   只画单行    
  DT_TABSTOP   指定新的制表站间距,采用这个整数的高8位    
  DT_TOP   必须同时指定DT_SINGLE。指示文本对齐格式化矩形的顶部    
  DT_VCENTER   必须同时指定DT_SINGLE。指示文本对齐格式化矩形的中部    
  DT_WORDBREAK   进行自动换行。如用SetTextAlign函数设置了TA_UPDATECP标志,这里的设置则无效    
   
  Top

4 楼ouygg(痞子酷)回复于 2003-02-10 10:31:10 得分 0

AnsiString   st;  
    RECT   Re;  
    Re.left   =10;  
    Re.top   =10;  
    Re.right   =300;  
    Re.bottom   =400;  
   
    st   ="aaaaaa\r\nbbbbbbbbb\r\nccccccc";  
  //   SetTextAlign(Canvas->Handle,TA_CENTER);  
    ::DrawText(Canvas->Handle,   st.c_str(),st.Length(),   &Re,   DT_WORDBREAK);  
  Top

相关问题

  • CDC::DrawText如何绘制特定颜色(比如红色)的文本?
  • 绘制字符串文本时,如何确定已绘制字符串文本的实际宽度?
  • 如何将在文本文件中绘制表格?
  • CDC在指定矩形内绘制文本
  • 有没有种简单的方法,绘制反走样文本?
  • 请教高人:文本框中怎么绘制图形?
  • DrawText绘制多国语言问题
  • 用TextOut绘制文本,如果要绘制的文本它的上半部分(或左第一个字左半部分),在用户区外怎么办。
  • DrawText写多行文本的问题
  • DrawText显示多行文本的思路..

关键词

  • 文本
  • 矩形
  • 格式化
  • 间距
  • 字符
  • 制表
  • 指示
  • 文字
  • top
  • dt

得分解答快速导航

  • 帖主:chnlog

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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