Also im obigen Code wird Rectangle(0, 0, 20, 20), das rechteck soll also 20x20 Pixel groß werden .
Nun frage ich dich nochmal wie groß der Canvas der BMP ist ?
Da du das im Source nicht festgelegt hast ist die Bitmap BMP 0 Pixel breit und 0 Pixel hoch. Wie soll darin ein Rechteck mit 20x20 reinpassen. Das nichts angezeigt wird ist also logsich. Änders ab in
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var
bmp: TBitmap;
begin
try
bmp := TBitmap.Create;
bmp.Width := SpeedButton1.Width -2;
bmp.Height := SpeedButton1.Height -2;
bmp.Canvas.Rectangle(0, 0, 20, 20);
{ Hier kannst Du nun auf dem Bitmap herumzeichnen... }
SpeedButton1.Glyph.Assign(bmp);
finally
bmp.Free;
end;
end;
-2 für den 1 Pixel breiten Rahmen des Speedbuttons.
Gruß Hagen