Italia
Foro

ICON-Anzeige in LISTVIEW.DLL

 
Hallo Frank
KompilierenMarkierenSeparieren
ilist&=CreateImageList(1,addr(anzahl&))
>

Das ist die Zeile, mit dem die Image-Liste in mein Programm eingeladen wird. Funktioniert auch bestens. Jetzt hab ich aber auf Grund eines Tipps von J. Sellmeier festgestellt, dass manchmal nicht richtig gezeigt wird. Liegt das an der Systemeinstellung oder kannst Du das noch ein bischen verfeinern ? - Es geht in erster Linie um die LNK-File. Wenn ich mit dem Kurzcode von PRFellow eine LNK-.File aufrufe, zeigt mir der Text das Icon der mit der LNK-File verknüpften Anwendung. Könnte das in Deiner DLL auch possibile gemacht werden ?
Hier der Code:
KompilierenMarkierenSeparieren
...und hier ein Ausschnitt aus meiner DESKTOP-Anzeige mit Der LISTVIEW.DLL

55 kB
Kurzbeschreibung: LNK-File mit "neutralem" Icon
Hochgeladen:16.11.2006
Downloadcounter309
Download
 
16.11.2006  
 




Frank
Abbing
CreateImageList() mit Flag 1 holt den Handle der System-Imagelist. Also die Liste, mit der das System arbeitet mit den zu diesem Zeitpunkt darin liegenden Icons.
Du kannst aber jederzeit eine eigene Imagelist aufbauen, mit allen Icons, die du benötigst. Einige nötigen Definitionen dazu befinden sich bereits in der File Listview_Funktionen.inc. Wie man eine eigene Imageliste benutzt, zeigt z.B. das Listview-Demo Gezeichnete_Bitmap_einbauen.prf.
Benutzt du hingegen FilelistToCsv() und möchtest du die Linked Icons Mostra, dann schalte einfach Flag $200 dazu. Das verzögert allerdings die Ausführung um ca. das Doppelte.
 
16.11.2006  
 



@Frank
[quote:dc7b1fb0f0]Benutzt du hingegen FilelistToCsv() und möchtest du die Linked Icons Mostra, dann schalte einfach Flag $200 dazu. Das verzögert allerdings die Ausführung um ca. das Doppelte.[/quote:dc7b1fb0f0]
Hier ist ein Auszug aus meinem Text. Original übernommen aus der Anleitung und andere Listview-Variablen eingebaut. Als erstes frage ich mich schon immer, wie die 31 zusammen kommt. Mit den Werten aus der Anleitung komme ich nur bis 25 - ? - Wenn ich jetzt 200 dazugebe, wird die Anzeige total zum Chaos ? -
Was corre da schief ?
KompilierenMarkierenSeparieren
bytes&=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>

Ein ziehmlich fertiger horst

Nachtrag: Im Explorer-Demo in den Beispieltexten steht an gleicher Stelle $11f und auch hier sind neutrale Icons in der Ansicht ?
 
16.11.2006  
 




Jörg
Sellmeyer
Hallo Horst,
Du mußt nicht 200 sondern $200 dazuaddieren. $200 ist Hex$(512).
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.11.2006  
 




Frank
Abbing
 
16.11.2006  
 



@Danke Jörg - aber ich habe einen Umrechner per die Hex-Werte

@Frank - nicht so dreckig grinsen
KompilierenMarkierenSeparieren
bytes&=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 haben keinerlei Auswirkung. Nun meine ich aber, irgendwann hätte mein Programm die Icons angezeigt. Werde heute mittag (muss zum Arzt ) PROFAN-9 einrichten und damit versuchen. Vielleicht gibt es eine Diskrepanz (schönes Wort) zwischen Listview.dll und XProfan-10 ?

21 kB
Kurzbeschreibung: Rechnet alle Werte um...
Hochgeladen:17.11.2006
Downloadcounter66
Download
 
17.11.2006  
 




Jörg
Sellmeyer
Hallo Horst,
Ich habe jetzt die Filtermöglichkeiten der Dll nicht im Kopf, aber Du kannst vielleicht lnk-File erst mal ausnehmen und dann nachträglich einfügen und die Icons mit dem Code von Prfellow dazupacken.
Das verlangsamt den Code naturalmente, da Du bei jedem Verzeichniswechsel checken mußt, ob solche File vorhanden sind.
Vielleicht löst sich das Problem ja auch noch von allein...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
17.11.2006  
 




Frank
Abbing
Der Flag dient in erster Linie Exe-File, damit das Icon der Exe angezeigt wird und nicht das Standarticon. Ich weiss aber, dass es auch mit ähnlichen File funktioniert. Ob es mit Lnk-File auch geht, habe ich nie getestet und hab an diesem Computer auch nicht die Möglichkeit dazu (ist kein Profan und MASM installiert).

...und - ich grinse nie fies... ;D
 
17.11.2006  
 



@Frank
[quote:84ccfeb126]...und - ich grinse nie fies... happy[/quote:84ccfeb126]
Antwort - siehe Bild....

57 kB
Hochgeladen:17.11.2006
Downloadcounter346
Download
 
17.11.2006  
 




Frank
Abbing
...meinst du etwa das moralisch unterstützende Zähneblecken?

 
17.11.2006  
 




Jörg
Sellmeyer
Wenn hier einer grinst, dann doch wohl ich, oder?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
17.11.2006  
 




Frank
Abbing
Ciao,

hab mal ein bischen experimentiert und nachgelesen. Die Sache mit den Lnk-File ist etwas komplizierter als gedacht.
Hierbei ist nicht das Problem, an das linked-Icon zu kommen, sondern dieses zu archivieren. Dazu muss man wissen, dass ein Listview (mit Icons) an eine Imagelist gebunden ist und keine freien Icons verwenden kann. Nur Icons, die sich in der Imageliste befinden, können verwendet werden. FilelistToCsc() benutzt hierzu die Systemimageliste. Das Dazufügen, Wegnehmen und Freigeben von Icons ist aber mit einer Dll-Funktion, die alles in einem Rutsch ausliest und erst dann an eine grafische Routine übergibt, zu aufwendig. Dazu muss ich mir erstmal Gedanken machen.
Du wirst also zunächst ohne die Link-Icons auskommen müssen.

Der Flag $200 ist in dieser Form auch nur eine Krücke, weil sich die Systemimageliste fortwährend ändern kann und das zu Fehlern führen kann. Das werde ich so noch nicht lassen, sodass ich darum bitte, dieses Flag nicht unbedingt zu benutzen. Da wird sich was ändern.

Und wenn ich schon dabei bin, werde ich auch grosse Icons gleich mit einbeziehen.
 
17.11.2006  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.498 Views

Untitledvor 0 min.
Walter18.06.2024
Member 154727723.09.2018
ByteAttack09.12.2016
Frank Vorholzer18.06.2012
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie