Click auf Header in ListView

    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.

    • Click auf Header in ListView

      Ist es möglich, eventuell mit einer Message, ohne die ListView.dll von Frank rauszukriegen ob ein Header-Item angeklickt wurde (und wenn ja, welches)?
      XProfan-Semiprofi (XProfan X4a+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 7 8GB/256GB
      jacdelad.bplaced.net
    • ...aber das funktioniert alles nicht mit XProfan.
      XProfan-Semiprofi (XProfan X4a+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 7 8GB/256GB
      jacdelad.bplaced.net
    • Vielleicht kommst du damit weiter:

      Quellcode

      1. $H Windows.ph
      2. $H commctrl.ph
      3. Struct LVHitTestInfo = X&,Y&,flags&,Item&,SubItem&
      4. Declare LVHTI#,LView&,Header&
      5. Dim LVHTI#,LVHitTestInfo
      6. Proc LV_HitTest
      7. Parameters LV&,X%,Y%
      8. ~GetCursorPos(LVHTI#)
      9. ~ScreenToClient(LV&,LVHTI#)
      10. SendMessage(LV&,~LVM_SUBITEMHITTEST,0,LVHTI#)
      11. EndProc
      12. Cls
      13. LView& = Create("GridBox",%hwnd,"Test 0;0;100;Test 1;0;100;Test 2;0;100;Test 3;0;100",0,200,10,410,200)
      14. WhileLoop 0,4
      15. AddString(LView&,"0 Test " + Str$(&Loop) + "|1 Test " + Str$(&Loop) + "|2 Test " + Str$(&Loop) + "|3 Test " + Str$(&Loop))
      16. Wend
      17. Header&=sendmessage(Lview&,~LVM_GETHEADER,0,0)'
      18. setstyle Header&,$50000002'--Header aktivieren
      19. While 1
      20. WaitInput
      21. If getfocus(LView&)
      22. LV_HitTest LView&,%mousex,%mousey
      23. Locate 0,0
      24. If (&wParam=0)
      25. messagebox("Header \n"+str$(int(LVHTI#.SubItem&+1))+". Spalte \ngewählt.. ","",32)
      26. Else
      27. Print GetText$(LView&,LVHTI#.Item&,LVHTI#.SubItem&)
      28. EndIf
      29. EndIf
      30. Wend
      Alles anzeigen
    • @THFR: Vielen Dank schon mal, ich komme eventuell erst morgen dazu es zu probieren. Wenn das gut funktioniert, darf ich es mit in meine ListView.inc aufnehmen? Natürlich mit Hinweis auf deine Urheberschaft.
      XProfan-Semiprofi (XProfan X4a+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 7 8GB/256GB
      jacdelad.bplaced.net
    • Das kannst du sicher. Die Abfrage ist bestimmt von den alten LV-Recken oder aus der plv.inc, wo ja eine Spaltensortierung eingebaut war.

      Jac, du müsstest mal die Verlinkung: jacdelad.bplaced.net anpassen. LINK: jacdelad.bplaced.de, und das führt zu einer Fehlermeldung.

      Gruß Thomas
    • Ups, 'tschuldigung. Mache ich sofort.

      Vielen, vielen Dank, der Code klappt übrigens wunderbar. Ist es auch möglich zwischen Einfach- und Doppelklick zu unterscheiden?
      Ich nehme beim nächsten Update in die ListView.inc auf (in leicht angepasster Form).
      XProfan-Semiprofi (XProfan X4a+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 7 8GB/256GB
      jacdelad.bplaced.net
    • Für Item-Doppellinksklick hätte ich:

      Brainfuck-Quellcode

      1. $H windows.ph
      2. $H messages.ph
      3. ......
      4. SubClassProc
      5. If SubClassMessage(%hWnd, ~WM_NOTIFY)
      6. If Long(&sLParam,8)=-3
      7. item&=Long(&sLParam,12)
      8. If item&<>-1
      9. SendMessage(%hwnd, 2000, item&, Long(&sLParam,16))
      10. EndIf
      11. EndIf
      12. EndIf
      13. EndProc
      14. SubClass %hwnd, 1
      15. UserMessages 2000
      16. ......
      17. If (%umessage = 2000)
      18. .........
      19. Endif
      20. .....
      Alles anzeigen
      Einfach mal probieren.
    • Hm, das kenne ich schon. Ich meinte Spalten. Trotzdem danke natürlich. :top:
      XProfan-Semiprofi (XProfan X4a+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 7 8GB/256GB
      jacdelad.bplaced.net