void __fastcall TForm1::StatusBar1DrawPanel(TStatusBar *StatusBar,
TStatusPanel *Panel, const TRect &Rect)
{
if (Panel->Index==1)
{
TCanvas *pCanvas=StatusBar1->Canvas;
ImageList1->Draw(pCanvas,Rect.Left,Rect.Top,Panel->Index,true);
}
}
TStatusPanel *Panel, const TRect &Rect)
{
if (Panel->Index==1)
{
TCanvas *pCanvas=StatusBar1->Canvas;
ImageList1->Draw(pCanvas,Rect.Left,Rect.Top,Panel->Index,true);
}
}
解决方案 »
- 类型有问题,怎么改
- Edit.Text=Null?
- 执行查询语句出现错误-有未闭合的引号?
- 怎样将shape控件始终显示出来,也就是不被其他组件遮盖住??
- 拜拖高手给个赐教!
- 请将下列语句C++转化成Object Pascal
- Delphi6提供的TClientSocket在一秒钟最多能接收TServerSocket发过来的多少个包呢?
- 我想用MaskEdit作一个99.99格式的输入,并且使用UpDown控件控制增幅为0.5怎么做?
- 请问如何将一个数据表中的数据插入到另一个表中??
- delphi 在子线程加载GIF图元,用于显示程序运行进度
- 请问delphi怎样对注册表进行操作,谢谢了
- 如何实现象win2000里的屏幕键盘的功能?
//扩展StatusBar
//加入特性:允许在状态条上加入任意控件
type
TMStatusBar=Class(TStatusBar)
private
protected
public
constructor Create(AOwner: TComponent); override;
published
end;//TMStatusBar 事件扩展
constructor TMStatusBar.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle:= ControlStyle + [csAcceptsControls];
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Parent := StatusBar1;
Image1.Left := 1;
Image1.Top := 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Parent := StatusBar1;
Image1.Left := 1;
Image1.Top := 1;
end;
然后在StatusBar的OnDrawPanel事件中画。
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
with StatusBar1 do
begin
Canvas.Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic);
Canvas.TextOut(Rect.Left + 20, Rect.Top, Panel.Text);
end;
end;
begin
Image1.Parent := StatusBar1;
Image1.Left := 1;
Image1.Top := 1;
end;