Page 1 sur 1

LisIconeGatget : intercepter déplace-change largeur colonne

Publié : lun. 14/sept./2015 12:00
par Vlad
Dans une LisIconeGatget, il est possible avec la souris :
** de déplacer toute une colonne (l'ordre des colonnes change alors)
** de modifier la largeur d'une colonne.
Existe-t il un moyen simple d'intercepter ces évènements pour les traiter (du genre de WindowEvent() ou autre) ?
Merci de vos éventuelles réponses.

Vladimir

Re: LisIconeGatget : intercepter déplace-change largeur colo

Publié : lun. 14/sept./2015 13:20
par celtic88
je suis debutant dans ce langage alors c'est je trompe corrigez moi :wink:

Ps:Compile en mode Unicode

Code : Tout sélectionner

Global hndllv,hndlhd

Procedure WinCallback(hWnd, uMsg, wParam, lParam)     
  If uMsg = #WM_NOTIFY
    *nhdr.NMHEADER=lParam
    If *nhdr\hdr\hwndFrom = hndlhd
      code=*nhdr\hdr\code
      ;pour plus de 'Notifications' recuperer les noms des Constantes par ici: https://msdn.microsoft.com/en-us/library/windows/desktop/ff485940(v=vs.85).aspx
      Select code
        Case #HDN_ITEMCLICKW
          Debug *nhdr\iItem
        Case #HDN_ITEMCHANGINGW
          Debug *nhdr\iItem
          ProcedureReturn #True ; pour annuler toute modification
      EndSelect
    EndIf 
  EndIf
  ProcedureReturn #PB_ProcessPureBasicEvents 
EndProcedure 

If OpenWindow(0, 0, 0, 690, 300, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
  ListIconGadget(0,  10,  10, 690-20, 300-20, "Colonne 1", 100)
  For b = 2 To 4        
    AddGadgetColumn(0, b, "Colonne " + Str(b), 65)
  Next
  For b = 0 To 2          
    AddGadgetItem(0, b, "Elément 1"+Chr(10)+"Elément 2"+Chr(10)+"Elément 3"+Chr(10)+"Elément 4")
  Next
  hndllv=GadgetID(0)
  hndlhd=SendMessage_(hndllv, #LVM_GETHEADER,0,0)
  SetWindowCallback(@WinCallback())
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: LisIconeGatget : intercepter déplace-change largeur colo

Publié : lun. 14/sept./2015 16:05
par kernadec
bonjour
j'adresse le Salut à tous :D
désolé de ne pas venir poster plus souvent,
comme beaucoup ici !! j'ai d'autres passions qui m'accaparent un peu plus en ce moment.

Pour répondre à Vlad
j'avais fait une compile de commandes pour un listicon
à partir de divers codes récupérés sur les 3 forums PB..

tu devrais trouver dans ce code les commandes que tu cherche , mais malheureusement que pour windows
l’édition des cases se fait en cliquant dans les cases celles-ci sont éditable, avec pop menu etc...

Voilà: il fonctionne en PB 531
http://www.purebasic.fr/french/viewtopi ... on&start=0


Cordialement

Re: LisIconeGatget : intercepter déplace-change largeur colo

Publié : mar. 15/sept./2015 6:57
par microdevweb
Voici un lien (forum Anglais) http://www.purebasic.fr/english/viewtop ... lit=winapi excellent logiciel avec pas mal d'Api (window only)