AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

Ein Thema von blablab · begonnen am 5. Sep 2016 · letzter Beitrag vom 6. Sep 2016
Antwort Antwort
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 5. Sep 2016, 19:21
Hallo!

Ich möchte gerne das gleiche Verhalten wie bei einem Link haben. Also dass über dem normalen Icon unten links ein weiteres Icon angezeigt wird (der blaue Pfeil der nach oben rechts zeigt).

Gibts es eine Möglichkeit das irgendwie zB in der Registry so anzugeben?

Grüße
blablab

Geändert von blablab ( 5. Sep 2016 um 20:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 5. Sep 2016, 21:06
Das sind sogenannte Overlay icons.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#3

AW: Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 5. Sep 2016, 22:57
Willst du eine reine Konfigurationslösung oder kommt auch eine Shellerweiterung infrage?
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 6. Sep 2016, 06:51
Schön wäre eine Konfigurationslösung. Am liebsten würde ich 1:1 das Icon der normalen Windows-Links übernehmen.

Bzw. könnte ich mit einer ShellErweiterung mein Icon pro Datei komplett selbst zeichnen?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.288 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 6. Sep 2016, 08:55
Mehr dazu findest du hier in der Doku:
https://msdn.microsoft.com/de-de/lib...(v=vs.85).aspx

Die benötigten Interfaces findest du bei Delphi in der Unit Winapi.ShlObj bzw. bei alten Versionen in der ShlObj.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 6. Sep 2016, 09:57
Schön wäre eine Konfigurationslösung. Am liebsten würde ich 1:1 das Icon der normalen Windows-Links übernehmen.
Guckst du unter HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler ... da siehst du, daß für die Shortcuts eine Shellerweiterung verantwortlich ist. In shell32.dll, wenn ich mich recht entsinne, findest du das gewünschte Symbol, welches du selbstverfreilich auch von deiner Erweiterung aus laden kannst. Die Kunst wäre nun, für jede Windows-Version den korrekten Index des Symbols zu finden, da dieser variieren kann.

Für den Fall, daß eine Konfigurationslösung gewünscht ist, könnte ich ohnehin nicht mehr weiterhelfen, da ich nicht weiß wie das geht (wenn es gehen sollte). Shellerweiterungen habe ich hingegen schon geschrieben und gewartet.

Bzw. könnte ich mit einer ShellErweiterung mein Icon pro Datei komplett selbst zeichnen?
Im Endeffekt ja. Falls du TortoiseGit/SVN/Hg benutzt, kannst du dir das live anschauen indem du ein Repository auscheckst und dann eine oder mehrere Dateien veränderst. Das Overlay-Icon sollte sich entsprechend des neuen Status dann ändern.

Besser als die Dokumentation von MSDN finde ich übrigens die Serie von Michael Dunn (am Ende des Artikels geht es jeweils zum Folgeartikel). Allerdings sollte man zumindest genug C++ verstehen um die Konzepte in Delphi zu übertragen.

Achtung: Shellerweiterungen werden für alles mögliche verwendet. Bspw. um einen neuen Namensraum im Dateimanager einzublenden oder eben für Overlay-Icons, aber auch um die Kontextmenüs je nach "Datei" anzupassen. Auch verwenden alternative Dateimanager (also nicht nur Windows Explorer) vielfach Shellerweiterungen. Darauf sollte man Rücksicht nehmen.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz