ListIcon et clics sur les colonnes

Programmation d'applications complexes
Joubarbe
Messages : 93
Inscription : sam. 01/juil./2006 16:40

ListIcon et clics sur les colonnes

Message par Joubarbe »

Salut,

Il y a déjà des sujets sur les tris d'une colonne lorsqu'on clique sur son titre, mais ils sont tous très vieux !
Donc la question, pour la généraliser un peu, serait de savoir s'il existe un moyen de renvoyer un évènement lorsqu'on clique sur une colonne d'une ListIcon ?

De sorte qu'avec l'évènement, je puisse tester la position de la souris, la largeur des colonnes, et savoir ainsi sur quelle colonne le clic a été effectué.

... ou alors tout simplement un truc magique qui a été ajouté dans les dernières versions de PB et que j'ignore totalement !

Merci.
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: ListIcon et clics sur les colonnes

Message par Shadow »

Salut,

Tu veux savoir sur quel ligne et colonne tu clique c'est ça ?
Sur quel cellules en gros ?
Ou même savoir ça sans même cliqué mais quand la souris est dessus ?
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: ListIcon et clics sur les colonnes

Message par falsam »

Shadow a écrit : Tu veux savoir sur quel ligne et colonne tu clique c'est ça ?
Sur quel cellules en gros ?
Ou même savoir ça sans même cliqué mais quand la souris est dessus ?
Si tu lis bien ce n'est rien de tout ça :wink:
un moyen de renvoyer un évènement lorsqu'on clique sur une colonne d'une ListIcon ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7323
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: ListIcon et clics sur les colonnes

Message par falsam »

Une solution

Code : Tout sélectionner

Enumeration Window
  #MainForm
EndEnumeration

Enumeration Gadget
  #MyTable
EndEnumeration


Procedure MainFormCallBack(hwnd, msg, wParam, lParam)
  Protected *pnmhdr.NMHDR, *pnmlistview.NMLISTVIEW
  
  Select msg    
    Case #WM_NOTIFY
      
      *pnmhdr = lParam
      
      If *pnmhdr\code = #LVN_COLUMNCLICK           
        *pnmlistview = lParam
        If *pnmlistview\hdr\hwndFrom = GadgetID(#MyTable) 
                    
          ;Quel est le numéro de la colonne cliquée ?
          NumCol = *pnmlistview\iSubItem
          Debug NumCol
          
          ;Quel est la largeur de la colonne cliquée 
          Debug GetGadgetItemAttribute(#MyTable, 0, #PB_ListIcon_ColumnWidth, NumCol)
          
        EndIf
      EndIf
      
  EndSelect
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure


If OpenWindow(#MainForm, 0, 0, 800, 600, "New Project", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)      
  ListIconGadget(#MyTable, 10, 10, 780, 580, "Col 1", 150, #PB_ListIcon_FullRowSelect)
  AddGadgetColumn(#MyTable, 1, "Col 2", 300)
  
  ;Jeu test pour remplir un peu la table
  For Row = 0 To 9
    AddGadgetItem(#MyTable, -1, "Item " + Str(Row) + Chr(10) + "Value " + Str(Row))
  Next
  
  SetWindowCallback(@MainFormCallBack())
    
  Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Joubarbe
Messages : 93
Inscription : sam. 01/juil./2006 16:40

Re: ListIcon et clics sur les colonnes

Message par Joubarbe »

Hmm, ok merci !

Ce serait définitivement bien que l'équipe de PB considère un moyen interne d'interagir avec le titre des colonnes sur tous les OS :)
Shardik
Messages : 4
Inscription : sam. 16/nov./2013 20:52
Localisation : Allemagne

Re: ListIcon et clics sur les colonnes

Message par Shardik »

Joubarbe a écrit :Ce serait définitivement bien que l'équipe de PB considère un moyen interne d'interagir avec le titre des colonnes sur tous les OS :)
Une solution pour Linux, MacOS et Windows: :wink:
http://www.purebasic.fr/english/viewtop ... 36&start=4
Répondre