| |
|
|
| allô Frank KompilierenMarqueSéparation c'est qui la ligne, avec dem qui Image-liste dans mon Programme eingeladen wird. Funktioniert aussi bestens. maintenant hab je mais sur Grund eines Tipps de J. Sellmeier festgestellt, dass quelquefois pas richtig gezeigt wird. Liegt cela à qui Systemeinstellung ou bien peux Du le reste un un peu verfeinern ? - und dir dans erster ligne number à LNK-Fichiers. si je avec dem Kurzcode de PRFellow une LNK-.Dossier aufrufe, zeigt mir qui Text cela Icon qui avec qui LNK-Dossier verknüpften Anwendung. Könnte cela dans Deiner DLL aussi possible gemacht volonté ? ici qui Code: KompilierenMarqueSéparationPRFellow-Vorlage
Autor: Thomas Hölzer
Das Handle des mit einer Programm- oder Datendatei verbundenen
Icons ermitteln
Benötigt unbedingt Profan 6.1 (32) wg. Addr-Funktion
Besonders nett: Wenn die Datei nicht existiert oder der
Iconindex (3.Parameter) nicht stimmt, wird ein Standardicon
geliefert. Das Ergebnis der Proc steht in @&(0)
Def w32_ExtractAssociatedIcon(3) !"SHELL32","ExtractAssociatedIconA"
declare x#
Proc ExtractAssociatedIcon
Parameters f$,i&
Declare h&
Dim x#,255
String x#,0=f$
Let i&=1
Let h&=w32_ExtractAssociatedIcon(%hinstance,x#,Addr(i&))
Dispose x#
Return h&
EndProc
Beispiele
Def w32_DrawIcon(4) !"USER32","DrawIcon"
Cls
WindowTitle "Icons von AUTOEXEC.BAT und unbekannter Datei"
ExtractAssociatedIcon "C:\AUTOEXEC.BAT",1
w32_DrawIcon(%hdc,100,100,&(0))
ExtractAssociatedIcon "C:\Mozilla Thunderbird.lnk" Normal ist die Datei im DESKTOP
Hier habe ich sie für Test-Zwecke auf die Festplatte kopiert
w32_DrawIcon(%hdc,150,100,&(0))
WaitInput
...et ici un Ausschnitt aus meiner DESKTOP-Anzeige avec qui LISTVIEW.DLL |
|
|
| |
|
|
|
Frank Abbing | CreateImageList() avec Flag 1 holt den Handle qui System-Imagelist. alors qui liste, avec qui cela System arbeitet avec den trop diesem la date y liegenden Icônes. tu peux mais jederzeit une eigene Imagelist aufbauen, avec allen Icônes, qui du besoin. quelques nötigen Definitionen en supplément befinden sich bereits dans qui Dossier Listview_Funktionen.inc. comment on une eigene Imageliste benutzt, zeigt z.B. cela Listview-Demo Gezeichnete_Bitmap_einbauen.prf. Benutzt du hingegen FilelistToCsv() et vouloir du qui Linked Icônes Montrer, ensuite schalte simple Flag $200 en supplément. cela différé allerdings qui Ausführung um ca. cela Doppelte. |
|
|
| |
|
|
|
| @Frank [quote-part:dc7b1fb0f0]Benutzt du hingegen FilelistToCsv() et vouloir du qui Linked Icônes Montrer, ensuite schalte simple Flag $200 en supplément. cela différé allerdings qui Ausführung um ca. cela Doppelte.[/quote-part:dc7b1fb0f0] ici est un Auszug aus meinem Text. Original übernommen aus qui Anleitung et autre Listview-Variablen incorporé. comme erstes frage je mich déjà toujours, comment qui 31 zusammen venez. avec den Werten aus qui Anleitung viens je seulement jusqu'à 25 - ? - si je maintenant 200 dazugebe, wird qui Anzeige total zum chaos ? - quoi fonctionne là de travers ? KompilierenMarqueSéparationbytes&=FilelistToCsv(addr(text$),bereich#,0,0,31,icons#)
x&=SetColumnsFromMem(LINKS_VIEW&,bereich#,addr(spalte%))
CsvToListview(LINKS_VIEW&,(bereich#+spalte%),(bytes&-spalte%),x&)
z&=GetLines(LINKS_VIEW&)
SetIconsFromMem(LINKS_VIEW&,0,icons#,z&)/pre> un ziehmlich fertiger horst
Nachtrag: Im Explorer-Demo dans den Beispieltexten steht à gleicher Stelle $11f et ici sommes neutrale Icônes dans qui Ansicht ? |
|
|
| |
|
|
|
Jörg Sellmeyer | allô Horst, tu dois pas 200 mais $200 dazuaddieren. $200 ist Hex$(512). |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 16.11.2006 ▲ |
|
|
|
|
Frank Abbing | |
|
| |
|
|
|
| @merci Jörg - mais j'ai une Umrechner pour qui Hex-Werte
@Frank - pas so dreckig grinsen KompilierenMarqueSéparationbytes&=FilelistToCsv(addr(text$),bereich#,0,0,($1+$2+$4+$8+$10+$200),icons#)
bytes&=FilelistToCsv(addr(text$),bereich#,0,0,(543),icons#)e> Beide Schreibweisen avons keinerlei Auswirkung. eh bien mon je mais, irgendwann hätte mon Programme qui Icônes angezeigt. Werde aujourd'hui mittag (muss zum médecin ) PROFANE-9 einrichten et avec cela versuchen. peut-être gibt es une Diskrepanz (schönes mot) entre Listview.dll et XProfan-10 ? |
|
|
| |
|
|
|
Jörg Sellmeyer | allô Horst, j'ai maintenant qui Filtermöglichkeiten qui Dll pas im tête, mais tu peux peut-être lnk-Fichiers seulement la fois ausnehmen et ensuite nachträglich insérer et qui Icônes avec dem Code de Prfellow dazupacken. cela verlangsamt den Code naturellement, là Du chez chaque Verzeichniswechsel checken dois, si solche Fichiers vorhanden sommes. peut-être löst sich cela Problem oui aussi encore de seul... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.11.2006 ▲ |
|
|
|
|
Frank Abbing | qui Flag dient dans erster ligne number Exe-Fichiers, avec cela cela Icon qui Exe angezeigt wird et pas cela Standarticon. je weiss mais, dass es aussi avec ähnlichen Fichiers funktioniert. si es avec Lnk-Fichiers aussi allez, habe je nie getestet et hab à diesem ordinateur aussi pas qui Possibilité en supplément (ist ne...aucune Profan et MASM installiert).
...et - je grinse nie fies... ;D |
|
|
| |
|
|
|
| @Frank [quote-part:84ccfeb126]...et - je grinse nie fies... happy[/quote-part:84ccfeb126] Antwort - siehe Bild.... |
|
|
| |
|
|
|
Frank Abbing | ...meinst du etwa cela moralisch unterstützende Zähneblecken?
|
|
|
| |
|
|
|
Jörg Sellmeyer | si ici einer grinst, ensuite doch wohl je, ou bien? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.11.2006 ▲ |
|
|
|
|
Frank Abbing | Salut,
hab la fois un un peu experimentiert et nachgelesen. qui l'affaire avec den Lnk-Fichiers ist quelque chose komplizierter comme gedacht. Hierbei ist pas cela Problem, à cela linked-Icon trop venons, mais cet trop archivieren. en supplément muss on savons, dass un Listview (avec Icônes) à une Imagelist attaché ist et aucun freien Icônes verwenden peux. seulement Icônes, qui sich dans qui Imageliste befinden, peut verwendet volonté. FilelistToCsc() benutzt hierzu qui Systemimageliste. cela Dazufügen, enlever et Freigeben de Icônes ist mais avec einer Dll-Funktion, qui alles dans einem Glissement ausliest et seulement ensuite à une grafische Routine übergibt, trop aufwendig. en supplément muss je mir erstmal Gedanken faire. Du wirst alors zunächst sans qui Link-Icônes auskommen doit.
qui Flag $200 ist dans cette forme aussi seulement une Krücke, weil sich qui Systemimageliste fortwährend changement peux et cela trop Fehlern mener peux. cela werde je so encore pas laisser, sodass je tout autor s'il te plaît, cet Flag pas absolument trop benutzen. là wird sich quoi changement.
et si je déjà dabei suis, werde je aussi grosse Icônes juste avec einbeziehen. |
|
|
| |
|
|