关于DrawText的问题

csdn_tw 2005-12-27 09:39:02
我想调用DrawText在一个canvas上输出文字,但发现DT_VCENTER或DT_BOTTOM无效,这是怎么回事,操作系统是win2000,代码如下:

DrawText(Image1->Canvas->Handle,"test",4,Image1->ClientRect,DT_VCENTER)

但是显示的文字出现在做上角,换成DT_BOTTOM也无效,请用过的哥们给看看,谢了
...全文
200 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn_tw 2005-12-27
  • 打赏
  • 举报
回复
用+号可不可以?
ccrun.com 2005-12-27
  • 打赏
  • 举报
回复
在C里用“|”
在Delphi里用“or”

而不是“||”
csdn_tw 2005-12-27
  • 打赏
  • 举报
回复

试了一下,不行,代码如下:

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
DrawText(Image1->Canvas->Handle,"test",4,&(Image1->ClientRect),DT_VCENTER || DT_SINGLELINE);

}
//---------------------------------------------------------------------------

点完按钮后,"test"在Image1的顶端居中显示

alexanda2000 2005-12-27
  • 打赏
  • 举报
回复
DT_VCENTER或DT_BOTTOM要和DT_SINGLELINE一起用才有效.
DrawText(Image1->Canvas->Handle,"test",4,Image1->ClientRect,DT_SINGLELINE or DT_VCENTER)
kongguangming 2005-12-27
  • 打赏
  • 举报
回复
no use "|"

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧