Manchen dieser Speedbuttons sind bestimmte Eigenschaften zugeordnet.
Um das sichtbar zu machen, wollte ich oben rechts ein kleines Symbol auf dem Buttonglyph zeichnen.
In Delphi geht das auch.
In Lazarus nicht.
Angenommen, es sind zwei Speedbuttons ein größerer sb1 und ein kleinerer sb2 in dem Formular.
Wenn SetGlyph aufgerufen wird, soll das Glyph von sb2 oben rechts in der Ecke von sb1 eingezeichnet werden
Code: Alles auswählen
procedure SetGlyph;
var bmp1, bmp2 : TBitmap;
begin
bmp1 := TBitmap.Create;
bmp1.Assign(sb1.Glyph);
bmp2 := TBitmap.Create;
bmp2.Assign(sb2.Glyph);
bmp1.Canvas.Draw(bmp1.Width - bmp2.Width, 0, bmp2);
sb1.Glyph.Assign(bmp1);
bmp1.Free;
bmp2.Free;
end;
Wenn ich statt sb1.Glyph.Assign(bmp1), sb1.Glyph.Assign(bmp2) schreibe, dann hat der große Speedbutton die gleiche Grafik wie sb2.
Also scheint das bmp1.Canvas.Draw nicht zu funktionieren.
Wie gesagt, es erscheint keine Fehlermeldung, funktioniert aber nicht.
Jemand eine Idee?