首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

Tstatusbar中间嵌入图片

2013-07-01 
Tstatusbar当中嵌入图片我在StatusBar当中添加了几个panel 属性设置PsOwnerDraw 想在其中一个当中加入图片

Tstatusbar当中嵌入图片
我在StatusBar当中添加了几个panel 属性设置PsOwnerDraw 想在其中一个当中加入图片  但为什么老加不上呢 看代码
在StatusBar1DrawPanel事件中处理:


 TCanvas *pcanvas = StatusBar->Canvas;
 pcanvas->Font->Name = "Arial Unicode MS";
 pcanvas->Font->Size=9;
 switch(Panel->ID)
 {
case 1:
{
 pcanvas->Font->Color = clRed;
 pcanvas->Draw(Rect.left+2,Rect.top+5,this->Image1->Picture->Graphic);
} break;
case 3:
{
 pcanvas->Font->Name = "Tohamas";
} break;
default: break;
 }
 pcanvas->TextRect(Rect,Rect.Left+6,Rect.Top+4,Panel->Text);

[解决办法]
兔恙兔森破.

首先, 要设置自绘的Panel的Style, 如:
StatusBar1->Panels->Items[1]->Style = psOwnerDraw;


然后, 在 OnDrawPanel 事件中处理:
void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar,
      TStatusPanel *Panel, const TRect &Rect)
{
    if (Panel->Index == 1)
    {
        StatusBar->Canvas->Draw(1, 1, Image1->Picture->Bitmap);
    }
}

热点排行