Thema: Delphi SpeedButton - kein Bild?

Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: SpeedButton - kein Bild?

  Alt 30. Aug 2006, 16:26
Sauber freigeben kannst du mit:
FreeAndNil(SpeedButton1.Glyph); Allerdings gibt es hier eine Exception, wenn dem Glyph noch kein Bitmap zugeordnet ist.
Außerdem sollte alles sauber freigegeben werden, wenn die Form - zu der der SpeedButton gehört - freigegeben wird, also wenn dein Programm beendet wird.

Diese Lösung halte ich nicht für besonders gut:
Delphi-Quellcode:
    SpeedButton1.Glyph := nil;
    SpeedButton1.Glyph := TBitmap.Create;
    SpeedButton1.Glyph.Width := ICO.Width;
    SpeedButton1.Glyph.Height := ICO.Height;
    SpeedButton1.Glyph.Canvas.Draw(0, 0, ICO);
Wenn noch Bildreste da sind, kannst du auch vorher einfach die Größe des Bitmaps auf 0 stellen, dann sollte nichts mehr vom alten Bild übrig sein:
Delphi-Quellcode:
    SpeedButton1.Glyph.Width := 0;
    SpeedButton1.Glyph.Height := 0;
    SpeedButton1.Glyph.Width := ICO.Width;
    SpeedButton1.Glyph.Height := ICO.Height;
    SpeedButton1.Glyph.Canvas.Draw(0, 0, ICO);
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat