Seite 1 von 1

Listicon - Spaltenüberschrift mit Rechtsclick

Verfasst: 22.01.2018 08:30
von Velindos
Hallo Leute,
möchte Listicon - Spaltenüberschrift mit Rechtsclick abfragen. Grundsätzlich Frage ich den LCLK zum sortieren ab. Möchte jedoch mit den RCLK meine Base anzeigen!

Zur Zeit setzte ich #LVN_COLUMNCLICK ein. Meine Suche nach #RVN_COLUMNCLICK ergab aber keinen Treffer!

Kann mir sagen jemand sagen was äquivalent wäre?

Gruss ... Velindos

Re: Listicon - Spaltenüberschrift mit Rechtsclick

Verfasst: 22.01.2018 09:59
von RSBasic
Mit #NM_RCLICK kannst du feststellen, ob auf die Spalte mit der rechten Maustaste geklickt wurde.

Re: Listicon - Spaltenüberschrift mit Rechtsclick

Verfasst: 27.01.2018 11:39
von Velindos
Hallo RSBasic,

hat ein bischen länger gedauert, hatte aber Probleme mit meiner Windows 10 Installation und bin wieder auf Windows 8!

Nun zum Thema:
Habe mal eine verkürzte Version zusammengestellt wie der Listicon Callback aufgebaut ist. Er beinhaltet die Wahl über die Zeile und das Sortieren über einen LCLK auf die Spaltenüberschrift. Dieses wollte ich erweitern um einen RCLK auf die Spaltenüberschrift für die Base anzeige!

Dein Vorschlag ist bereits eingebaut aber geht auf die Zeilen und von mir für das PopUp genutzt!

Code: Alles auswählen

Procedure Callback_Work_ListIcon(Window.i, msg.l, wParam.i, lParam.i)
  Protected Result = #PB_ProcessPureBasicEvents
  
  Protected  *msgf.MSGFILTER
  Protected  pos.POINT
  Protected  char
  Protected  lineindex
  Protected  colindex
  Protected  col
  Protected  row
  Protected *pnmh.NMHDR
  Protected *pnmv.NMLISTVIEW
  Protected *lpnmitem.NMITEMACTIVATE
  Protected *nmhdr.NMHDR 
  
  Select msg
      
    Case #WM_NOTIFY  
      *msgf=lParam
      
      Select *msgf\NMHDR\code
        Case #EN_MSGFILTER   
          Select *msgf\msg
            Case #WM_LBUTTONUP, #WM_KEYUP
              ; Hier die Sortierung der Zeilen
          EndSelect
      EndSelect
      
      ; lParam points to a structure with more info
      *pnmh = lParam      
      ; lParam points to a structure with more info
      *pnmh.NMHDR = lParam  
      
      If *pnmh\hwndFrom = GadgetID(#Work_L_ListIcon) 
        ; code contains actual Message
        Select *pnmh\code                           
            
          Case #LVN_COLUMNCLICK
            ; Columen Klick
            *pnmv.NMLISTVIEW = lParam
            
            
            
          Case #RVN_COLUMNCLICK <= Wollte ich finden!
            
            
            
          Case #NM_CLICK 
            ; LCLK 
            *lpnmitem.NMITEMACTIVATE = lParam            
            ; Zeile eintragen
            ListIconZeile.l = *lpnmitem\iItem             
            ListIconSpalte.l = *lpnmitem\iSubItem          
            
          Case #NM_DBLCLK  
            ; LDCLK Mouse
            *lpnmitem.NMITEMACTIVATE = lParam
            ListIconZeile.l = *lpnmitem\iItem
            ListIconSpalte.l = *lpnmitem\iSubItem
            
          Case #NM_RCLICK  
            ; RCLK Mouse
            *lpnmitem.NMITEMACTIVATE = lParam
            ListIconZeile.l = *lpnmitem\iItem
            ListIconSpalte.l = *lpnmitem\iSubItem
            
            
          Case #NM_RDBLCLK 
            ; RDCLK Mouse 
            *lpnmitem.NMITEMACTIVATE = lParam
            ListIconZeile.l = *lpnmitem\iItem
            ListIconSpalte.l = *lpnmitem\iSubItem
            
        EndSelect
      EndIf
      
      ; CONTEXTMENU
    Case #WM_CONTEXTMENU
      ; these events are send as notification of CONTEXTMENU
      If GadgetID(#Work_E_Notiz) = wParam
        DisplayPopupMenu(#PopUp_Work_Notiz, WindowID(#Ultimate))
      EndIf
      
  EndSelect
  
  ProcedureReturn Result
EndProcedure
Gruss ... Velindos

Re: Listicon - Spaltenüberschrift mit Rechtsclick

Verfasst: 27.01.2018 12:12
von RSBasic
Velindos hat geschrieben:Dein Vorschlag ist bereits eingebaut aber geht auf die Zeilen und von mir für das PopUp genutzt!
Vielleicht hilft dir der folgende Code weiter: http://www.purebasic.fr/english/viewtop ... 79#p102479
Wenn du auf die zweite Spalte im ersten ListIconGadget rechts klickst, dann öffnet sich ein Popup, genau so wie du es haben möchtest.
Velindos hat geschrieben:hat ein bischen länger gedauert, hatte aber Probleme mit meiner Windows 10 Installation und bin wieder auf Windows 8!
Ah ok. Was für ein Installationsproblem hattest du bei Windows 10? Vielleicht kannst du im Offtopic einen Thread erstellen, damit wir dir helfen können. Ist doch schade, wenn du aufgibst und zurückruderst. Vielleicht gibt es eine Lösung für dein Problem.