关于StatusBar的使用问题(非常简单,但我不会)

UFOBH 2002-08-27 11:27:17
各位老师:

如果我将StatusBar 立起来用,就是将属性Align=alleft
那么其中的文字如何也跟着立起来?

谢谢
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuafa 2003-04-17
  • 打赏
  • 举报
回复
up
wu_07 2003-04-17
  • 打赏
  • 举报
回复
//Check out the LOGFONT structure in the Windows SDK for more options.

void TForm1::CreateVerticalFont()
{
TLogFont VerticalFont;
ZeroMemory(&VerticalFont,sizeof(VerticalFont));
VerticalFont.lfHeight = -18;
VerticalFont.lfEscapement = 900;
VerticalFont.lfOrientation = 900;
VerticalFont.lfWeight = FW_BOLD;
StrPCopy(VerticalFont.lfFaceName, "Arial");
}



OldFont = (TFont*)SelectObject(ACanvas->Handle,CreateFontIndirect(&VerticalFont));
OldForegroundColor = SetTextColor(ACanvas->Handle, clWhite);
OldBackgroundColor = SetBkColor(ACanvas->Handle, clRed);

VerticalDrawingRect = Rect(0, 0, CheckmarkSize+TEXT_SPACE, Height);


// Draw the longer string which produces the color bar
ExtTextOut(ACanvas->Handle, -1, Height, ETO_CLIPPED,
&VerticalDrawingRect, VerticalText.c_str(), VerticalBarLength, NULL);

SelectObject(ACanvas->Handle,OldFont);
SetTextColor(ACanvas->Handle, OldForegroundColor);
SetBkColor(ACanvas->Handle, OldBackgroundColor);
ljianq 2003-04-17
  • 打赏
  • 举报
回复
恐怕要自己重新写一个了;
kanhongsh 2003-04-17
  • 打赏
  • 举报
回复
一个:
StatusBar1->SimplePanel = true; //单个Panel
StatusBar1->SimpleText = "中国";
多个:
StatusBar1->SimplePanel = false; //多个Panel
StatusBar1->Panels->Items[0]->Text = "中国1";
StatusBar1->Panels->Items[1]->Text = "中国2";
StatusBar1->Panels->Items[2]->Text = "中国3";
道素 2003-04-17
  • 打赏
  • 举报
回复
如果你是在原控件基础上改,还不如你自己做
TR@SOE 2002-08-27
  • 打赏
  • 举报
回复
可能需要创建逻辑字体CreateFontIndirect之类的,你可以搜索一下,有个帖子讲到如何使字体旋转。
sharkxie 2002-08-27
  • 打赏
  • 举报
回复
我试了,好像不行,也不知道什么设置不对,
如果一个以上的panels,连panels也不显示,
期待高手!

13,874

社区成员

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

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