Hi,
ich habe eine zu diesem Thread passende Frage.
Und zwar habe ich mit diesem Code ein Icon in die Statusbar gezeichnet.
Zitat von
Hawkeye219:
Hallo,
wäre in diesem Fall ein Panel mit
TStatusPanel.Style =
psOwnerDraw nicht einfacher?
Delphi-Quellcode:
procedure TForm1.StatusBar1DrawPanel (StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
ImageList1.Draw (StatusBar.Canvas, Rect.Left, Rect.Top, 0);
end;
Gruß Hawkeye
Wie kann ich zur Laufzeit das Icon wieder löschen?
So habe ich es bisher:
Delphi-Quellcode:
var
EmptyArticle : Boolean;
...
if (Panel.Index = 2)then
begin
if EmptyArticle then
ImageList2.Draw(StatusBar.Canvas, Rect.Left, Rect.Top, 7)
else ImageList2.Draw(StatusBar.Canvas, Rect.Left, Rect.Top, 8);
end (* of if *)
An der Position 7 habe ich das Icon was dort gezeichnet werden soll, an der Position 8 habe ich ein leeres Bitmap der Imagelist eingefügt, aber das legt sich wahrscheinlich nur über das andere drüber und man sieht es noch.
Ich habe auch schon mit Index = -1 probiert, aber das hat auch nicht geklappt.
Vielen Dank!
MFG
Lorenz
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.
George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler