ovl_Icons
-
- Beiträge: 609
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
ovl_Icons
Hallo,
obwohl ich als Hobby-Programmierer mein Lazarus in etwas größeren Zeitabständen aktualisiere (benutze noch eine Stable von Nov.2023), hole ich mir die Icons die uns
"Ally" bereit stellt gerne auch mal zwischen durch direkt von gitlab.
Siehe:
viewtopic.php?p=128296#p128296
Mir sind da nun Icons aufgefallen die alle mit ovl_ beginnen und deren Bild ist immer in der rechten unteren Ecke. Weiß jemand für was man die nimmt? PS: Man kann es nicht oft genug schreiben: Vielen Dank an Ally für diese wunderbare Sammlung!
Viele Grüße
Bernd
obwohl ich als Hobby-Programmierer mein Lazarus in etwas größeren Zeitabständen aktualisiere (benutze noch eine Stable von Nov.2023), hole ich mir die Icons die uns
"Ally" bereit stellt gerne auch mal zwischen durch direkt von gitlab.
Siehe:
viewtopic.php?p=128296#p128296
Mir sind da nun Icons aufgefallen die alle mit ovl_ beginnen und deren Bild ist immer in der rechten unteren Ecke. Weiß jemand für was man die nimmt? PS: Man kann es nicht oft genug schreiben: Vielen Dank an Ally für diese wunderbare Sammlung!
Viele Grüße
Bernd
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: ovl_Icons
Ich vermute mal dass ovl für Overlay steht und du die über andere Icons legen kannst um sie zu kombinieren. Das passt ja dann auch damit, dass sie nur einen kleinen Bereich einnehmen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 609
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: ovl_Icons
Hallo Michael,
danke für die Antwort. Schadet nicht wenn man mal dumm fragt
, auf die Idee wäre ich nicht gekommen. Probiere ich aber demnächst mal aus.
Viele Grüße
Bernd
danke für die Antwort. Schadet nicht wenn man mal dumm fragt

Viele Grüße
Bernd
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1648
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: ovl_Icons
Das würde mich jetzt auch mal interessieren. Weil meine Funktion von hier würde damit die andere Grafik komplett übermalen.
- Ally
- Beiträge: 283
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: ovl_Icons
Hallo Bernd, das freut mich natürlich sehr.PS: Man kann es nicht oft genug schreiben: Vielen Dank an Ally für diese wunderbare Sammlung!



Und wie m.fuchs schon geschrieben hat, sind die Icons in erster Linie dazu gedacht als Overlay mit anderen Icons kombiniert zu werden.
Das kann man z.B. mit Gimp ganz gut bewerkstelligen.
Im Anhang findest du auch ein kleines Demo-Programm mit dem man das auch machen kann.
Mit einem Klick auf Load öffnen sich nacheinander zwei Datei-Öffnen-Dialoge. Im ersten wählt man das Hintergrund-Icon aus und im zweiten das Overlay.
Mit den SpinEdit's kann das Overlay positioniert werden und mit Save speichert man das Ganze.
@fliegermichl
Das Demo-Programm beinhaltet die Unit rhsBitmapAdd.pas, die auch mit Transparenz umgehen kann.
- Dateianhänge
-
rhsBitmapAddTest.zip
- (52.66 KiB) 40-mal heruntergeladen
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1648
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: ovl_Icons
@Ally Danke für den Beitrag. Das löst auch mein Problemchen aus dem anderen Thread direkt.
Re: ovl_Icons
Ally war schneller, während ich noch an meinen Demos gebastelt habe...
Denoch will ich das folgende schreiben, denn die Overlays sind schlecht dokumentiert.
Das einzige Control, das meines Wissens Overlayicons direkt unterstützt, ist der TreeView. Er hat ein wenig bekanntes Property, OverlayIndex, in dem man direkt den Index des Icons aus der zugeordneten ImageList eintragen kann, das als Overlay zu dem normalen Icon (ImageIndex/SelectedIndex) verwendet werden soll. (--> Anhang "imagelist_overlays_treeview").
Das andere Demo ("imagelist_overlays") zeigt, wie man selbst Overlays aus der ImageList zeichnen kann. Es gibt dafür eine Methode DrawOverlay(ACanvas: TCanvas; AX, AY, AIndex: Integer; AOverlay: TOverlay; AEnabled: Boolean = True). Das zeichnet das Icon mit Index AIndex am Ort AX/AY des Canvas und das Overlay mit Index AOverlay darüber. Aber leider ist das etwas komplizierter, denn der Overlayindex AOverlay hat nichts mit den Indices in der ImageList zu tun, sondern muss erst durch Aufruf der Prozedur procedure Overlay(AIndex: Integer; Overlay: TOverlay) einem ImageListenindex zugeordnet werden. Und besonders hässlich: für TOverlay sind nur Werte zwischen 0 und 14 erlaubt (bei Delphi sogar nur 0..3).
Denoch will ich das folgende schreiben, denn die Overlays sind schlecht dokumentiert.
Das einzige Control, das meines Wissens Overlayicons direkt unterstützt, ist der TreeView. Er hat ein wenig bekanntes Property, OverlayIndex, in dem man direkt den Index des Icons aus der zugeordneten ImageList eintragen kann, das als Overlay zu dem normalen Icon (ImageIndex/SelectedIndex) verwendet werden soll. (--> Anhang "imagelist_overlays_treeview").
Das andere Demo ("imagelist_overlays") zeigt, wie man selbst Overlays aus der ImageList zeichnen kann. Es gibt dafür eine Methode DrawOverlay(ACanvas: TCanvas; AX, AY, AIndex: Integer; AOverlay: TOverlay; AEnabled: Boolean = True). Das zeichnet das Icon mit Index AIndex am Ort AX/AY des Canvas und das Overlay mit Index AOverlay darüber. Aber leider ist das etwas komplizierter, denn der Overlayindex AOverlay hat nichts mit den Indices in der ImageList zu tun, sondern muss erst durch Aufruf der Prozedur procedure Overlay(AIndex: Integer; Overlay: TOverlay) einem ImageListenindex zugeordnet werden. Und besonders hässlich: für TOverlay sind nur Werte zwischen 0 und 14 erlaubt (bei Delphi sogar nur 0..3).
- Dateianhänge
-
imagelist_overlays.zip
- (8.1 KiB) 34-mal heruntergeladen
-
imagelist_overlays_treeview.zip
- (8.4 KiB) 36-mal heruntergeladen
-
- Beiträge: 609
- Registriert: Di 19. Mai 2015, 20:05
- OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
- CPU-Target: x86_64-linux-gtk2
Re: ovl_Icons
Hallo zusammen,
@Ally und WP: herzlichen Dank für die Demo-Projekte und die Erklärungen. Ich habe da schon gleich einige Ideen wo ich das gut gebrauchen kann.
Für alle die sich die Demos von wp_xyz runterladen. Die Namen der Projekte sind vertauscht. Wer das Beispiel mit der TreeView haben möchte muss das Andere nehmen und umgedreht. Aber am Besten holt man sich eh gleich beides.
Und das sich nebenbei noch eine Lösung für fliegermichl ergeben hat freut mich auch sehr. Unglaublich was aus einer scheinbar banalen Frage alles an Infos rüber kommt.
Viele Grüße
Bernd
@Ally und WP: herzlichen Dank für die Demo-Projekte und die Erklärungen. Ich habe da schon gleich einige Ideen wo ich das gut gebrauchen kann.
Für alle die sich die Demos von wp_xyz runterladen. Die Namen der Projekte sind vertauscht. Wer das Beispiel mit der TreeView haben möchte muss das Andere nehmen und umgedreht. Aber am Besten holt man sich eh gleich beides.
Und das sich nebenbei noch eine Lösung für fliegermichl ergeben hat freut mich auch sehr. Unglaublich was aus einer scheinbar banalen Frage alles an Infos rüber kommt.
Viele Grüße
Bernd