Listview mit Kacheln aber unterschiedlichen Icons krieg ich nicht hin :(

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Listview mit Kacheln aber unterschiedlichen Icons krieg ich nicht hin :(

      Hallo,
      ich hab den Quellcode für Listviews mit TileView (Kacheln) von Uwe "Pascal" Niemeyer genommen und etwas gepimpt. Im Großen und Ganzen die Vorbereitung daraus eine INC zu machen:

      Quellcode

      1. window 100,10-500,550
      2. usefont "MS Sans Serif",15,7,0,0,0
      3. setdialogfont 1
      4. usermessages 16
      5. $H D:\XProfan\XProfan\Include\Windows.ph
      6. $H D:\XProfan\XProfan\Include\commctrl.ph
      7. declare Tiles#,TileInfo#,TileView#,icolist&,lv&
      8. struct Tiles=x1&,x2&,x3&,x4&,x5&'Array: 5 mögliche Spalten / Extra-Zeilen
      9. struct LVTILEINFO=Size&,Item&,Columns&,puColumns&
      10. struct TILEVIEW=Size&,Mask&,Flags&,x&,y&,Lines&,xa&,ya&,xb&,yb&
      11. proc PrepareTileView
      12. dim Tiles#,Tiles
      13. dim TileInfo#,LVTILEINFO
      14. dim TileView#,TILEVIEW
      15. TileInfo#.Size&=sizeof(TileInfo#)
      16. TileInfo#.puColumns&=Tiles#
      17. TileView#.Size&=sizeof(TileView#)
      18. TileView#.Mask& =2'LVTVIM_COLUMNS
      19. TileView#.Lines&=5'Max. Anzahl Zeilen (nicht verwendete leer)
      20. 'IcoList&=~ImageList_Create(48,48,1,1,0)
      21. IcoList&=Create("Imagelist",48,48)
      22. external("comctl32","ImageList_AddIcon",IcoList&,~LoadIcon(%hinstance,"Profan"))
      23. sendmessage(Lv&,~LVM_SETIMAGELIST,~LVSIL_NORMAL,IcoList&)
      24. sendmessage(Lv&,(~LVM_FIRST+142),4,0)'LVM_SETVIEW,LV_VIEW_TILE
      25. sendmessage(Lv&,(~LVM_FIRST+162),0,TileView#)'LVM_SETTILEVIEWINFO
      26. TileInfo#.Columns&=4'Anzahl Spalten als Extra-Zeilen
      27. Tiles#.x1& =1
      28. Tiles#.x2& =2
      29. Tiles#.x3& =3
      30. Tiles#.x4& =4
      31. endproc
      32. proc AddIcoString
      33. Parameters l&,a$
      34. addstring(L&,a$)
      35. TileInfo#.Item& =GetCount(l&)-1'Zeile 0
      36. sendmessage(L&,(~LVM_FIRST+164),0,TileInfo#)'LVM_SETTILEINFO
      37. endproc
      38. Lv&=create("gridbox",%hwnd,"a;0;0;b;0;0;c;0;0;d;0;0;e;0;0",0,10,10,300,420)'5 Spalten
      39. PrepareTileView
      40. AddIcoString lv&,"Text1|Sub11|Sub12|Sub13|Sub14"
      41. AddIcoString lv&,"Text2|Sub21|Sub22|Sub23|Sub24"
      42. AddIcoString lv&,"Text3|Sub31|Sub32|Sub33|Sub34"
      43. while 1
      44. waitinput
      45. case %umessage=16:break'Ende
      46. endwhile
      47. case IcoList&:~ImageList_Destroy(IcoList&)
      48. dispose Tiles#
      49. dispose TileInfo#
      50. dispose TileView#
      Alles anzeigen

      Der Quellcode läuft einwandfrei, aber wie zum Henker kriege ich ihn dazu, dass ein Item ein anderes Icon außer dem ersten bekommt? Ich kann via

      Quellcode

      1. external("comctl32","ImageList_AddIcon",IcoList&,~LoadIcon(%hinstance,"A"))
      zum Beispiel ein weiteres Icon hinzufügen, aber alle Items haben das erste.

      Nachtrag:
      Ich habe jetzt folgendes probiert:

      Quellcode

      1. Struct LVI=MASK&,ITEM&,SUBITEM&,STATE&,STATEMASK&,TEXT&,TEXTMAX&,IMAGE&,PARAM&,Ident&,GroupId&,cColumns&,puColumns&,piColFmt&,iGroup&
      2. proc LVSetImage
      3. Parameters listview&,index&,image&
      4. declare lv#
      5. Dim lv#,LVI
      6. Lv#.Item&=index&
      7. 'sendmessage(Listview&,~LVM_GETITEM,0,Lv#)
      8. Lv#.Mask&=~LVIF_IMAGE
      9. Lv#.Image&=image&
      10. sendmessage(Listview&,~LVM_SETITEM,0,Lv#)
      11. Dispose lv#
      12. endproc
      Alles anzeigen

      Laut MSDN kann ich das Item mit LVM_SETITEM verändern, benötige eine LVITEM-Struktur und muss MASK den Wert LVIF_IMAGE zuweisen. Das habe ich getan, aber der Mist geht trotzdem nicht.
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jac de Lad ()

    • Ah f**k, ich war schon wieder voreilig. In meinem Code gab's ne Interferenz mit der Gruppenansicht.
      Soll ich das Ergebnis als Inc posten, wenn Gruppen und Kacheln funktionieren?
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net
    • Bis jetzt geht immer nur eins von beiden und nicht beides. :-(
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net
    • Jetzt geht beides, ich muss nur noch ne Inc draus basteln.
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net
    • Bin noch am Basteln, ist aber bald fertig.
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net
    • Ist zwar schon eine Weile her, aber ich Inc ist jetzt benutzbar. Besteht Interesse daran? Bisher habe ich mich nur um Kacheln gekümmert, das Ergebnis ist aber schon sehenswert.
      [IMG:https://s2.imagebanana.com/file/180429/zkEIrEoR.jpg] Wieso wird das Bild im Editor ordentlich angezeigt und im fertigen Post nicht?
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net
    • Jac de Lad schrieb:

      Wieso wird das Bild im Editor ordentlich angezeigt und im fertigen Post nicht?
      Bekommst Du das erst jetzt mit? Externe Bilderlinks sind deaktiviert, aufgrund der neuen Datenschutzbestimmungen. Dafür hat Jörg uns jetzt aber mehr Einstellungen bei Dateianhängen bewilligt. Also Datei anhängen und dann wie gehabt.
      Gruß Thomas
      Meine Hardware
      Programmieren ist wie Küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst was es bedeutet, wenn man es getan hat.
      ComputerInfo für PPF
    • ts-soft schrieb:

      Jac de Lad schrieb:

      Wieso wird das Bild im Editor ordentlich angezeigt und im fertigen Post nicht?
      Bekommst Du das erst jetzt mit? Externe Bilderlinks sind deaktiviert, aufgrund der neuen Datenschutzbestimmungen. Dafür hat Jörg uns jetzt aber mehr Einstellungen bei Dateianhängen bewilligt. Also Datei anhängen und dann wie gehabt.
      Entschuldigung, ich poste nicht oft Bilder. Deswegen kriege ich es erst jetzt mit. Sorry.
      Seufz, und wie hänge ich eine Datei an? Über die Linkfunktion?
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net
    • Jac de Lad schrieb:

      Seufz, und wie hänge ich eine Datei an? Über die Linkfunktion?
      Das Problem scheint zu sein, das in diesem Unterforum keine Dateianhänge erlaubt sind, ich hoffe mal das wird wieder geändert.

      Du kannst im moment nur Direktlink zum Bild nutzen, also normal: "http: // jacdelad.bplaced.de/dasbild.png"
      Gruß Thomas
      Meine Hardware
      Programmieren ist wie Küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst was es bedeutet, wenn man es getan hat.
      ComputerInfo für PPF
    • ts-soft schrieb:

      Jac de Lad schrieb:

      Seufz, und wie hänge ich eine Datei an? Über die Linkfunktion?
      Das Problem scheint zu sein, das in diesem Unterforum keine Dateianhänge erlaubt sind, ich hoffe mal das wird wieder geändert.
      Du kannst im moment nur Direktlink zum Bild nutzen, also normal: "http: // jacdelad.bplaced.de/dasbild.png"
      Ah ok, danke.
      XProfan-Semiprofi (XProfan X4+XPIA+LemonEd)
      Ryzen 1700X/MSI B350 PC MATE/16GB RAM@2933MHz/Radeon HD7770 OC/Creative X-Fi XTreme Music/65TB HDD+256GB Samsung 960 EVO/28" Samsung 4k
      XBox Classic/360S/One S/One X Scorpio Edition/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84) auf 60" 4k/3D LG
      OnePlus 6 256GB Midnight Black
      http://jacdelad.bplaced.net