Listicon - Spaltenüberschrift mit Rechtsclick

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Listicon - Spaltenüberschrift mit Rechtsclick

Beitrag 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
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Listicon - Spaltenüberschrift mit Rechtsclick

Beitrag von RSBasic »

Mit #NM_RCLICK kannst du feststellen, ob auf die Spalte mit der rechten Maustaste geklickt wurde.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Listicon - Spaltenüberschrift mit Rechtsclick

Beitrag 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
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Listicon - Spaltenüberschrift mit Rechtsclick

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten