如何在状态栏第2个窗格(StatusPanel)中同时显示图标和文字 如题。我搞很久了还是没弄出来,要么就是只有图(还是只显示在第一个窗格,在其它窗格就显示不出来)要么就只有文字,麻烦哪个高手帮帮忙吧,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 放一个TImage控件,载入图片procedure TForm1.FormCreate(Sender: TObject);begin Image1.Parent := StatusBar1; Image1.Top := 2; Image1.Left := StatusBar1.Panels[0].Width + 4; StatusBar1.Panels[1].Text := ' Zswang 路过'; //~~~~~~~~不至于被图片挡住文字,加些空格end; 伴水老大的就是最易行的方法,你新建工程试试。图片用一个16x16的位图,Image1的AutoSize设为True unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ComCtrls;type TForm1 = class(TForm) StatusBar1: TStatusBar; Image1: TImage; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin Image1.Parent := StatusBar1; Image1.Top := 2; Image1.Left := StatusBar1.Panels[0].Width + 4; StatusBar1.Panels[1].Text := ' 示例';end;end.代码我没怎么改过的,但是示例两个字还是显示不出来,麻烦zswang(伴水清清)(专家门诊清洁工)再帮我看看啦,谢谢TO:iuIRCClient(我是老鹰),我不会用第三方组件,汗 StatusBar1.Panels[1].Text := '0123456789012345678901234567890123456789'; //看到哪里StatusBar1.Panels[1].Width := 200; // 或者加足够的宽度空格加得太多-_-!!! unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ComCtrls;type TForm1 = class(TForm) StatusBar1: TStatusBar; Image1: TImage; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin Image1.Parent := StatusBar1; Image1.Top := 2; Image1.Left := StatusBar1.Panels[0].Width + 4; StatusBar1.Panels[1].Text :='0123456789012345678901234567890123456789'; statusbar1.Panels[1].Width:=200;end;end.TO zswang,这个完全是搬你的代码的,还是显示不出字来。会是哪出问题呢?晕@ @ “你把窗体代码贴出来看看哪里的问题”窗体代码不是程序代码按Alt+F12(View as Text)可以编辑窗体代码 object Form1: TForm1 Left = 329 Top = 136 Width = 696 Height = 480 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Image1: TImage Left = 344 Top = 144 Width = 32 Height = 32 AutoSize = True Picture.Data = {..........} end object StatusBar1: TStatusBar Left = 0 Top = 429 Width = 688 Height = 19 Panels = < item Text = '你好' Width = 100 end item Style = psOwnerDraw Width = 200 end> endend窗体代码是这个?新手来的,刚刚没看清窗体代码不是程序代码呢,不好意思>< object StatusBar1: TStatusBar Left = 0 Top = 447 Width = 862 Height = 19 Panels = < item Text = #20320#22909 Width = 100 end item Width = 200 end> SimplePanel = Falseend//第二页的风格被设置成了psOwnerDrawStyle = psText 原来 是错在那了,我以为只要在窗格上显示图标(非文本)的话都要把Style改成psOwnerDraw呢= =+真是谢谢ZSWANG了,这么不厌其烦地指导我这个小白^^还有谢谢iuIRCClient(我是老鹰)、weizi2000(秋风啊)的帮忙 MDI窗口调用问题 断点怎么用 求助:需要report builder的学习资料,控件下载 如何把Grid的数据存成html,然后用程序读出来? DBGrid中如何让回车变为光标右移动? 这样的情况下是不是能使内存耗尽? 基于其他窗口的模态显示怎么做 想换工作的报个到,今年的工作好换吗? 关于用InstallShield Express制作安装文件的请教!!! 我用REAL PLAYER带的那个控件播放.rm的电影时怎么没有图象? 关于Delphi时间比较 大家来看看啊,TOpenDialog没有反应啊
begin
Image1.Parent := StatusBar1;
Image1.Top := 2;
Image1.Left := StatusBar1.Panels[0].Width + 4;
StatusBar1.Panels[1].Text := ' Zswang 路过';
//~~~~~~~~不至于被图片挡住文字,加些空格
end;
图片用一个16x16的位图,Image1的AutoSize设为True
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls;type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
Image1: TImage;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin Image1.Parent := StatusBar1;
Image1.Top := 2;
Image1.Left := StatusBar1.Panels[0].Width + 4;
StatusBar1.Panels[1].Text := ' 示例';end;end.
代码我没怎么改过的,但是示例两个字还是显示不出来,麻烦zswang(伴水清清)(专家门诊清洁工)再帮我看看啦,谢谢TO:iuIRCClient(我是老鹰),我不会用第三方组件,汗
StatusBar1.Panels[1].Width := 200; // 或者加足够的宽度空格加得太多-_-!!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls;type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
Image1: TImage;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin Image1.Parent := StatusBar1;
Image1.Top := 2;
Image1.Left := StatusBar1.Panels[0].Width + 4;
StatusBar1.Panels[1].Text :='0123456789012345678901234567890123456789';
statusbar1.Panels[1].Width:=200;
end;end.TO zswang,这个完全是搬你的代码的,还是显示不出字来。会是哪出问题呢?晕@ @
窗体代码不是程序代码按Alt+F12(View as Text)可以编辑窗体代码
Left = 329
Top = 136
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Image1: TImage
Left = 344
Top = 144
Width = 32
Height = 32
AutoSize = True
Picture.Data = {..........}
end
object StatusBar1: TStatusBar
Left = 0
Top = 429
Width = 688
Height = 19
Panels = <
item
Text = '你好'
Width = 100
end
item
Style = psOwnerDraw
Width = 200
end>
end
end窗体代码是这个?
新手来的,刚刚没看清窗体代码不是程序代码呢,不好意思><
Left = 0
Top = 447
Width = 862
Height = 19
Panels = <
item
Text = #20320#22909
Width = 100
end
item
Width = 200
end>
SimplePanel = False
end//第二页的风格被设置成了psOwnerDraw
Style = psText