Alternative zu _GUICtrlTreeView_SetIcon?

  • Hi,

    ich habe mehreren Grafiken (16x16) im PNG-Format die ich gerne als Icons in einem Treeview verwenden würde. Leider habe ich nur den Befehl _GUICtrlTreeView_SetIcon gefunden, der aber eine Datei erfordert mit darin enthalten Icons. Gibt es eine Möglichkeit auch einzelne seperate Bilder zuzuweißen?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Dann brauch ich aber immernoch die Icons in einer .dll

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Dazu brauchst Du keine extra DLL, um die Symbole zu speichern.

    Füge die Symbole mit ResHacker einfach den Resourcen deines Programms hinzu ...

    Dazu legst Du am besten ein kleines Script für ResHacker an.

    resource.rh


    Auf die Symbole zugreifen kannst Du dann über die IDs, im Beispiel also 100, 101, 102, ...
    Beim kompilieren bindest Du das .rh Script dann wie folgt ein:

    [autoit]


    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Run_After=C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\ResHacker.exe -script resource.rh

    [/autoit]


    Wichtig: Upx=n und Pfad zu ResHacker evtl. anpassen.

    So, nun kannst Du _GUICtrlTreeView_SetIcon so benutzen:

    [autoit]


    ...
    _GUICtrlTreeView_SetIcon ($hwnd, $hItem, "MyProg.exe", 100)
    ...
    _GUICtrlTreeView_SetIcon ($hwnd, $hItem, "MyProg.exe", 101)
    ...
    _GUICtrlTreeView_SetIcon ($hwnd, $hItem, "MyProg.exe", 102)
    ...

    [/autoit]

    Das war's eigentlich schon.


    Gruß
    Greenhorn