如何在按钮上画图(30分)

C

chensh

Unregistered / Unconfirmed
GUEST, unregistred user!
我动态创建如下一个‘开始’按钮,如何在该按钮上画上已经存在的bmp文件(d:/start.bmp)。
如果用Tbitbtn 则不显示该按钮。

procedure TForm1.Button3Click(Sender: TObject);
var
b: Tbutton;
h: hwnd;
begin
h := FindWindowEx(FindWindow('Shell_TrayWnd', nil),0,'Button',nil);
ShowWindow(h,0);
b := TButton.Create(nil);
b.ParentWindow := FindWindow('Shell_TrayWnd', nil);
b.Width := 51;
b.Height := 22;
b.Caption := ' 开始';
b.Font.Size:=9;
b.Font.Name:='宋体';
b.Left := 0;
b.Top := 0;
end;
 
if find the handle then CopyRect(…handle…)
 
有个控件不错http://lonelyisland.y365.com/mtranbtn.zip
能模仿IE等,还用自己画吗
 
自己画,我试过,但是如果点击过这个button后就消失了,我的是在formpaint的事件里写的
画图过程,建议你用其他控件,或者改写speedbutton的原代码,自己写一个button。
 
这样子可以吧!
procedure TForm1.Button1Click(Sender: TObject);
var
c: TCanvas;
begin
c := TControlCanvas.Create;
TControlCanvas(c).Control := button1;
//c.Brush.Style := bsClear;
// c.Pen.Color := clBlue;
// c.Rectangle(5, 5, 15, 15);
c.Draw(0, 0, image1.Picture.Bitmap);
c.Free;
end;
 
非常统一楼上的说法,
 
用speedbutton吧,效果不错。
 
huazai:
我试过了,还是不行呀。
 
我得那个可以在button上画上bitmap的啊,我试过了
 
To: huazai
怎么画, 给我代码,你试过的那个请贴过来。
 
多人接受答案了。
 
顶部