Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Toolbar Images (https://www.delphipraxis.net/98881-toolbar-images.html)

Störtebeker 3. Sep 2007 15:10


Toolbar Images
 
Hallo,

ich habe bereits in der Suche geschaut und leider nichts gefunden.

Wenn ich der Toolbar mit ImageList ein Image zuweise, ist es recht klein. 16x16 vermute ich. Nun hätte ich gerne größere Toolbarimages. Wie groß dürfen die bmp. Datein denn höchstens sein?

Weil wenn ich zum Beispiel eine PNG-Datei (128x128) mit Photoshop auf sagen wir 32x32 verkleinere und dann als .bmp abspeichere mit 32Bit, wonach ich es dann in die ImageList einfügen will, kommt Delphi mit "Stream Read Error"

Die Suche hat folgendes gebracht:

Zitat:

Du musst in der TImageList lediglich die Größe der Bilder verändern und schon hast Du in der Toolbar auch andere Größen.
Das heißt, dass ich die Eigenschaften Height und Width der ImageList von 16 z.B. auf 32 erhöhen muss, oder?

Nur funzt das nicht. Ein 16x16 Bild bleibt natürlich in der "Standard"-Größe. Aber größere z.B. 32x32 kann ich ja nicht in die ImageList laden. Was mache ich falsch bzw. was muss ich machen?

Thx.

mfG
Störtebeker

RavenIV 3. Sep 2007 15:35

Re: Toolbar Images
 
Ich hab das grad mal versucht bei Delphi 2007.
- TImageList auf das Formular gezogen
- Height und Width auf 64 gesetzt
- bmp mit 64x64 geladen (Doppelklick auf die Imagelist, Hinzufügen)
=> funktioniert

Angesprochen habe ich die ImageListe per Programm jedoch nicht.
Ich habe auch nicht versucht, neue bmp per Programm hinzuzufügen.

P.S. Du solltest in Deinem Profil angeben, welche Delphi-Version Du benutzt.

shmia 3. Sep 2007 15:41

Re: Toolbar Images
 
Alle Bilder in einer Image-Liste müssen die gleiche Grösse haben.
Diese Grösse ist in [TImageList.]Width und Height hinterlegt.
Die Grösse kann nicht nachträglich geändert werden, ausser man löscht alle bestehenden Bilder aus der Liste.
Du kannst auch 2 Imagelisten mit 16*16 und 32*32 auf dem Formular halten und dann zur Laufzeit umschalten.
Wobei 32*32 schon recht gross ist, 24*24 sind ein guter Kompromiss.

RavenIV 3. Sep 2007 15:42

Re: Toolbar Images
 
Nun hab ich die ImageList auch der Toolbar zugewiesen und das Image[0] einem ToolButton zugewiesen.
Alles mit dem ObjectInspector.

Das Programm startet und man kann den Button drücken ohne Fehlermeldung...

RavenIV 3. Sep 2007 15:46

Re: Toolbar Images
 
Zitat:

Zitat von shmia
Alle Bilder in einer Image-Liste müssen die gleiche Grösse haben.

Stimmt nicht (zumindest bei D2007.
Zitat:

Zitat von shmia
Diese Grösse ist in [TImageList.]Width und Height hinterlegt.
Die Grösse kann nicht nachträglich geändert werden, ausser man löscht alle bestehenden Bilder aus der Liste.

Wenn man die Grösse nachträglich im OI ändert, wird die Liste automatisch geleert
Zitat:

Zitat von shmia
Du kannst auch 2 Imagelisten mit 16*16 und 32*32 auf dem Formular halten und dann zur Laufzeit umschalten.
Wobei 32*32 schon recht gross ist, 24*24 sind ein guter Kompromiss.

Bei manchen Fremd-Komponenten (z.B. DevExpress) kann man der ToolBar "grosse Images" und "kleine Images" zuweisen.
Man hat also zwei ImageListen.

Bernhard Geyer 3. Sep 2007 16:29

Re: Toolbar Images
 
Zitat:

Zitat von Störtebeker
..., kommt Delphi mit "Stream Read Error"

Poste doch mal die BMP-Datei. Es gibt BMP-Abarten welche die Delphi-Implementierung nicht versteht oder aus den Tritt bringt. Wir hatten schon mal eine die Windows98 zum einfrieren gebracht hat.

Störtebeker 3. Sep 2007 20:23

Re: Toolbar Images
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich arbeite mit D6 Enterprise.

BMP Datei ist in diesem Beitrag als angehängte Datei vorhanden.

Größe: 32x32 /32Bit

PNG Datei liegt in der Größe 256x256 vor. Ebenfalls angehängt.

Störtebeker 3. Sep 2007 20:39

Re: Toolbar Images
 
Ich weiß nicht warum, aber irgendwie scheint D6 Enterprise bei der ImageList probleme mit der 32Bit Einstellung zu haben. Wenn ich das Bitmap nur mit 24Bit abspeichere, geht es auch mit einer Größe von 32x32.

Trotzdemn Thx.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz