怎样将文字竖排呢?像对联一样的效果。用在TLabel,TStaticText或其他控件上?

yanrj 2001-05-21 09:35:00
加精
如题!
...全文
342 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sephil 2001-06-05
  • 打赏
  • 举报
回复
将TLabel或TStaticText的Width设置为一个字符宽,Height要够,AutoSize=false, WordWrap=true,然后Caption填上你的内容即可
yanrj 2001-05-21
  • 打赏
  • 举报
回复
看到效果了,是你的颜色设置的与背景色一样,所以开始看不到字,你的做法是将整个字符串旋转角度,并未达到竖排的效果(对联)。
现在问题解决了,用TLabel或TStaticText,AutoSize=false, WordWrap=true,然后判断每个字符后加/n。
多谢了,你的程序也很有用。
xycleo 2001-05-21
  • 打赏
  • 举报
回复
在OnPaint中试试!!!!!应该没问题!!!!
yanrj 2001-05-21
  • 打赏
  • 举报
回复
看不到效果呀,
xycleo 2001-05-21
  • 打赏
  • 举报
回复
RECT rc;
int TextHeight;
::SetRect(&rc,0,0,20,TextHeight);
哪里都可以!!就放在FormCreate里吧!!
yanrj 2001-05-21
  • 打赏
  • 举报
回复
xycleo, rc时什么东东,没定义呀。
这段程序使用在哪里?自己做的组件里?
yanrj 2001-05-21
  • 打赏
  • 举报
回复
用Edit好像行不通呀
xycleo 2001-05-21
  • 打赏
  • 举报
回复
char* msg=Caption.c_str();

LOGFONT fontRec;

memset(&fontRec,0,sizeof(LOGFONT));

fontRec.lfHeight = -13;

fontRec.lfWeight = FW_NORMAL;

fontRec.lfEscapement = 900; // 旋转文字的关键

lstrcpy(fontRec.lfFaceName,"细明体");

HFONT hFont=CreateFontIndirect(&fontRec);

HFONT hOld=::SelectObject(Canvas->Handle,hFont);

::SetRect(&rc,0,0,20,ClientHeight);

::SetTextColor(Canvas->Handle,RGB(255,255,255));

::TextOut(Canvas->Handle,3,ClientHeight-3,msg,lstrlen(msg));

::SelectObject(Canvas->Handle,hOld);

::DeleteObject(hFont);


xycleo 2001-05-21
  • 打赏
  • 举报
回复
flytiger1977(武松!你敢来?^_^) Edit不接受换行!!
yanrj 2001-05-21
  • 打赏
  • 举报
回复
c++builder创世纪?我没听说过呀(本人太愚了),能够告知在哪能找到?
yanrj 2001-05-21
  • 打赏
  • 举报
回复
自己做组件画?
flytiger1977 2001-05-21
  • 打赏
  • 举报
回复
用Edit控件,在输入时,每输入一个字加一个换行符。
xycleo 2001-05-21
  • 打赏
  • 举报
回复
估计没有!!Edit是单行文本!!Memo才是多行!!!哪位大虾知道!!!望告知!!
xycleo 2001-05-21
  • 打赏
  • 举报
回复
gzbwl99(水鱼小白) 那个就是自己画的!!!!
gzbwl99 2001-05-21
  • 打赏
  • 举报
回复
我记得在c++builder创世纪中,有过这样的函数,它使用在竖立的标题栏中,不知道是否合用,自己看一看,是关于message那一章。
yanrj 2001-05-21
  • 打赏
  • 举报
回复
对联一样,
如:



自己画?没别的办法?
yanrj 2001-05-21
  • 打赏
  • 举报
回复
奇怪,我刚才说的话怎么看不见了?
我是说这个办法根本不行,你可以试试看,我已经试过这样的办法了。
xycleo 2001-05-21
  • 打赏
  • 举报
回复
那还是自己画吧!!!你要做什么样的效果!???
yanrj 2001-05-21
  • 打赏
  • 举报
回复
你自己试试就知道是什么样的效果了。
我不是没有试过!
xycleo 2001-05-21
  • 打赏
  • 举报
回复
最简单的方法!!!!

把Edit竖起来!!!选一些竖排的字体!!!!

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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