Steuerelement gesucht (Windows Systemsteuerung Einträge)

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von TRiViUM.

    Steuerelement gesucht (Windows Systemsteuerung Einträge)

    Hi liebe Community,

    ich würde gerne wissen, wie folgendes Steuerelement heißt, und wo man es ggf. herbekommt:


    (Quelle: Software UpdateSystem.net von Maximilian Krauss)

    Es hat folgendes Verhalten:
    Wenn man nicht mit der Maus auf einen Eintrag ist, sieht es so aus wie die obigen ersten 4 Einträge.
    Fährt man nun mit der maus über ein Element, so legt sich ein blauer Kasten um den Eintrag.

    Windows verwendet sowas z.b. zum Anzeigen der Einträge in der Systemsteuerung.
    (Start->Systemsteuerung)

    Gibt es so ein Steuerelement bereits fertig, oder müsste man sowas selbst programmieren?
    > Das Steuerelement befindet sich im Anhang.

    Um das gewünschte (obige) Aussehen zu bekommen, sind folgende Schritte notwendig:
    1) Gruppe anlegen (nicht unbedingt notwendig)
    2) Spalte "ItemText" anlegen (beinhaltet den Item-Text)
    3) Spalte "ItemDescription" anlegen (beinhaltet die Item-Beschreibung)
    4) Eintrag anlegen (Text des Anzeigenamens) + SubItem (Text der Beschreibung) anlegen
    5) ImageList (24; 24 px) als LargeImageList hinzufügen (nicht unbedingt notwendig)

    Diese Beschreibung ist auch in der Steuerelement-Klasse (erste Zeilen) noch einmal hinterlegt.


    Vielen Dank für Eure Antworten/ Hilfen! :)
    Dateien

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „TRiViUM“ ()

    Das UpdateSystem ist Open Source. Suchs dir einfach raus.
    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Das ist einfach eine eigens gestylte ListView.
    github.com/ProgTrade/nUpdate/b…trols/ExplorerListView.cs

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Stimmt!
    Hatte das mit dem Open Source gar nicht mehr auf dem Schirm...

    Gut zu wissen :)
    Ist jedoch in C# geschrieben, und jegliche Konvertierungen von C# zu VB scheitern...

    @Trade, bist du der Author von dem Element? :saint:
    // Author: Dominic Beger (Trade/ProgTrade)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TRiViUM“ ()

    Hatte das ursprünglich übernommen... Das stammt ursprünglich aus CodeProject, afaik. Keine Ahnung, ist schon 'ne Weile her. Den Header hat ReSharper eingefügt. Wird aber denke ich nicht so übel sein, da das Ding schon ein paar Jahre auf dem Buckel hat, nicht mehr supported wird, Max mittlerweile anderweitig aktiv ist und das ja durch die Lizenz erlaubt wurde. ;)
    Und übersetzen in VB.NET: Woran hapert's?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    wohl wahr :)

    Fehler:


    Code-Zeilen:
    1) Dim placeHolderGroup = New ExplorerListViewGroup()
    2) placeHolderGroup.State = ExplorerListViewGroupState.Collapsible
    3) placeHolderGroup.Mask = ExplorerListViewGroupMask.State
    4, 5) NativeMethods.SendMessage(Handle, LVM_SETGROUPINFO, New IntPtr(placeHolderGroup.GroupId), placeHolderGroup)
    6) NativeMethods.SetWindowTheme(Handle, "explorer", Nothing)
    7) NativeMethods.SendMessage(Handle, LVM_SETEXTENDEDLISTVIEWSTYLE, New IntPtr(LVS_EX_DOUBLEBUFFER), New IntPtr(LVS_EX_DOUBLEBUFFER))
    1-3: github.com/ProgTrade/nUpdate/b…/ExplorerListViewGroup.cs
    4-7: Du musst eine eigene Klasse dafür erstellen. Visual Studio denkt, dass es sich um eine Framework-Klasse handelt, ist aber nur eine eigene, die die P/Invoke-Methodensignaturen enthält: github.com/ProgTrade/nUpdate/b…re/Win32/NativeMethods.cs

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    hab ich gar nicht mehr weiter nach gesucht, Schande über mich :D

    Okay, done.
    Läuft :saint:

    Wenn du mir jetzt auch noch erklären kannst, wie ihr die Icons oben links in die Ecke bekommen habt, bzw. welche Proprties entsprechend gesetzt werden müssen, damit es genau so aussieht wie bei UpdateSystem.net/ Windows Systemsteuerung, dann bin ich schon zu frieden :)


    Zum Testen das umgeschriebene Steuerelement in VB im Anhang.
    > Siehe ersten Post.

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „TRiViUM“ ()

    Weiß ich gar nicht so genau grade, wie das war. Musst auf jeden Fall den richtigen View auswählen (einfach mal durchprobieren) und mit 'ner ImageList einfach arbeiten.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: