ListView.inc

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Da XProfan bisher etwas stiefmütterlich mit ListViews um geht (in XProfan Gridboxen genannt), habe ich mich mal der Sache angenommen und präsentiere hier eine Inc, die einiges erweitert. Bisher funktionieren Gruppen, Kacheln und Icons/Bilder, aber einiges wird noch folgen. Die Inc erhebt keinen Anspruch auf Vollständigkeit und befindet sich noch in der Alpha-Phase. Sie benötigt XProfan X4, aber jeder kann selbst schauen was zu ändern ist, wenn man eine ältere XProfan-Version hat. Die Funktionen sollten ab Windows Vista funktionieren, alles was davor kommt wird nicht offiziell unterstützt. Version 0.1.0.


    ListView.zip

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

    Einmal editiert, zuletzt von Volkmar ()

  • Update auf Version 0.1.2:
    Nur kleine Fehlerbehebungen. Neue Funktionen folgen später.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 0.1.3:
    - Fehlerbehebungen
    - Neue Funktionen um Textfarbe, Texthintergrundfarbe und Hintergrundfarbe einzustellen


    Bitte beachten: Die Inc steckt noch in den Kinderschuhen und es nur ein Teil der Möglichkeiten, die uns Windows per API bereitstellt, umgesetzt.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 0.2.0:
    - Neue Spaltenfunktionen: DeleteColumn, GetColumnText, GetColumnWidth, InsertColumn, SetColumnText, SetColumnWidth
    - Neue Gruppenfunktionen: CountGroups, DeleteAllGroups, DeleteGroup
    - Weitere neue Funktionen: DeleteEx, ShowItem, Sort


    Weiteres folgt...

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 0.2.1:
    - Neue Checkboxfunktionen: EnableCheckboxes, GetCheck, SetCheck
    - Erweiterung der Funktion Create mit der Unterfunktion "ListView", kompatibel zu Create("Gridbox",...)
    - Bugfix für EnableImages


    Viel Spaß!

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 0.2.2:
    - Neue Funktionen: CountColumns, GetGroupFocus, GetGroupInfo, GetBkColor, GetTextBkColor, GetTextColor
    - Erweiterung von Sort
    - Erweiterung des Containers Create mit dem Schlüsselwort "ListView". 100% kompatibel mit "Gridbox", aber mit mehr Optionen.
    - Kleine Bugfixes und Optimierungen

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 0.2.3:
    - Neue Funktionen: GetView, SetView, AddItem

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 1.0.8:
    - Neue Funktionen: HasGroup, HasGroups, IsVisible, SetBkImage
    - Nicht kompatibel erweitert: CreateGroup, jetzt mit zweiter Zeile im Titel. Dazu muss jeder Quellcode, der CreateGroup verwendet, angepasst werden (1 zusätzlicher Parameter).
    - Voll kompatibel erweitert: EnableGroups
    - Aufgeräumt und optimiert: CleanUp,EnableGroups, Sort

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

    Einmal editiert, zuletzt von Jac de Lad ()

  • Du bist ja unermüdlich! Tolles Weihnachtsgeschenk - Danke!

    Dankeschön. Und euch allen natürlich auch.
    Und keine sorge, mein Weihnachten beginnt morgen und vor dem 2. Januar bin ich fast nur für die Familie da. :-D

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 1.0.9:
    - Die Information wie Kacheln angezeigt werden wird ab jetzt für jedes ListView separat gspeichert und man muss nicht mehr dazwischen umschalten. Dazu wurde der Befehl PrepareTileView entfernt. Man kann jetzt mit SetView auf die Kachelansicht umstellen.
    - Die Kachelansicht wurde etwas erweitert, siehe SetTileView


    Kurze Frage an die Experten (ich habe noch nicht viel mit dynamischen Arrays gearbeitet): Kann ich einem dynamischen Array einen dynamischen Speicherbereich zuordnen, in etwa so:

    Code
    struct a=a&,a$(32),a#[]
    struct b=a&,b&,c&
    struct c=a&,b&,c&,d&,e&
    declare a#[]
    Dim a#,a
    setsize a#,16
    dim a#[10].a#,b
    a#[10].a#.a&=1024
    dim a#[11].a#,c
    a#[11].a#.e&=2048

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • So würde es gehen:


    Code
    struct a=a&,a$(32),a#[]
    struct b=a&,b&,c&
    struct c=a&,b&,c&,d&,e&
    declare a#[]
    a#[10] = new(b)
    a#[10].a&=1024
    a#[11] = new(c)
    a#[11].e&=2048


    Mit DIM a#,a bekommen alle Elemente die Struktur a. Das willst Du hier ja nicht. Mit New (siehe Hilfe) kannst Du jedem Element des Arrays eine andere Struktur oder eine andere Klasse zuweisen.



    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Ei genial, danke. Das wird die Verwaltung der Kacheln stark beschleunigen. Danke Roland, das habe ich wohl in der Hilfe falsch interpretiert. Ich habe zwar gelesen, dass New() darauf anwendbar ist, aber es nicht so verstanden. :-)
    Kann ich auch den Bereich a#.a# unterschiedlich dimmen, also:


    Code
    struct a=a&,a$(32),a#[]
    declare a#[]
    Setsize a#[],12
    Dim a#[10].a#,1024
    Dim a#[11].a#,2048

    ?

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Code
    struct a=a&,a$(32),a#[]

    erzeugt "Fehler in Struktur- oder Klassendefinition: a#[]".


    Update auf Version 1.0.10:
    - Kleine Verbesserungen bei SetTile und SetTileMask.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 1.0.11:
    - Bugfix für GetTextBkColor (vergessenes Leerzeichen :pfeifend: )
    - Optimierungen für EnableImages

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Ei genial, danke. Das wird die Verwaltung der Kacheln stark beschleunigen. Danke Roland, das habe ich wohl in der Hilfe falsch interpretiert. Ich habe zwar gelesen, dass New() darauf anwendbar ist, aber es nicht so verstanden. :-)
    Kann ich auch den Bereich a#.a# unterschiedlich dimmen,

    Nein das geht nicht. Bereiche in der Struktur funktionieren anders, als normale Bereichsvariablen. Du musst dort in den eckigen Klammern weiterhin die Größe des Bereichs in Bytes angeben.


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Update auf Version 1.0.12:
    - Bugfix für Create("ListView", Cleanup und EnableImages
    - Optimierungen für CreateGroup (EnableGroups nicht mehr nötig) und ein paar andere Funktionen

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

    Einmal editiert, zuletzt von Jac de Lad ()

  • Update auf Version 1.0.13:
    - Optimierungen für SetTileMask und SetTile. Da ich den Veränderungen noch nicht über den Weg traue habe ich die alten Versionen noch als Kommentar angehängt. Wenn sie sich als ausreichend stabil erweisen werde ich sie wieder entfernen.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 1.0.14:
    - Bugfix und Erweiterung für Create("ListView", außerdem standardmäßig aktiviertes DoubleBuffering (=deutlich weniger Flackern)
    - Allgemeine Verbesserungen und Optimierungen
    - Neue Funktionen GetHoverTime und SetHoverTime


    roland:
    Mittels

    Code
    sendmessage(h&,$1036,$10000,$10000)

    bzw. dem entsprechenden ExtendedListViewStyle LVS_EX_DOUBLEBUFFER wird im ListView das DoubleBuffering eingeschaltet, das das Flackern drastisch reduziert. Vielleicht könntest du das bei der Gridbox zum Standard machen.

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Update auf Version 1.0.15:
    - Bugfix und Erweiterung für Create("ListView", noch einmal...

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net