ListIcon et redimensionnement colonnes - comment faire pour
ListIcon et redimensionnement colonnes - comment faire pour
J'ai cherché un peu mais je n'ai pas trouvé et j'ai pas envie de passer des jours la-dessus.
Il me semblait avoir vu passer un code sur le forum anglais pour ceci :
J'aimerais lorsque je passe avec la souris sur le trait qui sépare 2 boutons de l'entête et que je clique en maintenant enfoncé le bouton de la souris, que trait vertical soit dessiné et si je déplace la souris, c'est le trait qui se déplace et si je lâche le bouton de la souris, la colonne est redimensionnée en fonction.
Comme dirais KCC, ya quiquin qui a ça sous le coude ? ou un lien sur du code.
Merci
Il me semblait avoir vu passer un code sur le forum anglais pour ceci :
J'aimerais lorsque je passe avec la souris sur le trait qui sépare 2 boutons de l'entête et que je clique en maintenant enfoncé le bouton de la souris, que trait vertical soit dessiné et si je déplace la souris, c'est le trait qui se déplace et si je lâche le bouton de la souris, la colonne est redimensionnée en fonction.
Comme dirais KCC, ya quiquin qui a ça sous le coude ? ou un lien sur du code.
Merci
Re: ListIcon et redimensionnement colonnes - comment faire p
Je ne sais pas si j'ai bien compris la question. En gros tu veux que le trait de séparation de colonne s'affiche sur tout le gadget au moment du redimensionnement et non pas juste sur l'entête ?Denis a écrit :...
J'aimerais lorsque je passe avec la souris sur le trait qui sépare 2 boutons de l'entête et que je clique en maintenant enfoncé le bouton de la souris, que trait vertical soit dessiné et si je déplace la souris, c'est le trait qui se déplace et si je lâche le bouton de la souris, la colonne est redimensionnée en fonction.
...
Si c'est ça, alors j'ai trouvé ça: (deuxième code)
http://www.purebasic.fr/english/viewtop ... 13&t=61914
(mots-clés utilisés dans la recherche du forum (us): « lisitcon resize »)
Re: ListIcon et redimensionnement colonnes - comment faire p
Marc56,
tu as bien compris
Merci à vous deux, je vais regarder vos codes
tu as bien compris
Merci à vous deux, je vais regarder vos codes
Re: ListIcon et redimensionnement colonnes - comment faire p
Finalement c'est pas ce que je recherche.
Le code de Rashad je l'ai, il redimensionne automatiquement, c'est pas ce que je recherche.
Actuellement, j'intercepte l'événement #HDN_DIVIDERDBLCLICK (sur #WM_NOTIFY) et je retourne #true ce qui empêche l'icône de redimensionnement d'être dessinée et on interdit le redimensionnement des colonnes à la souris.
Je voudrais maintenant pouvoir dessiner un trait vertical etc. pour redimensionner les colonnes.
Je vais chercher un peu mais j'ai pas envie
Le code de Rashad je l'ai, il redimensionne automatiquement, c'est pas ce que je recherche.
Actuellement, j'intercepte l'événement #HDN_DIVIDERDBLCLICK (sur #WM_NOTIFY) et je retourne #true ce qui empêche l'icône de redimensionnement d'être dessinée et on interdit le redimensionnement des colonnes à la souris.
Je voudrais maintenant pouvoir dessiner un trait vertical etc. pour redimensionner les colonnes.
Je vais chercher un peu mais j'ai pas envie
Re: ListIcon et redimensionnement colonnes - comment faire p
Ce code de Gnozal peut-être ?
Code : Tout sélectionner
;Autor: gnozal
EnableExplicit
Define EventID
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,10,10,WindowWidth(0)-20,WindowHeight(0)-20,"Spalte 1",150,#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_GridLines)
AddGadgetColumn(1,1,"Spalte 2",150)
AddGadgetColumn(1,2,"Spalte 3",150)
SendMessage_(GadgetID(1),#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_GRIDLINES,#LVS_EX_GRIDLINES)
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: ListIcon et redimensionnement colonnes - comment faire p
Chez moi la commande ne fonctionne pas, aucun effet !
PB 5.41 LTS 64.
Code : Tout sélectionner
SendMessage_(GadgetID(1),#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_GRIDLINES,#LVS_EX_GRIDLINES)
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.
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.
Re: ListIcon et redimensionnement colonnes - comment faire p
SendMessage_(GadgetID(1),#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_GRIDLINES,#LVS_EX_GRIDLINES)
permet d'afficher le quadrillage version Microsoft.
Le quadrillage de PB est un quadrillage maison, si on utilise ce message, il ne faut pas avoir défini le paramètre PB_ListIcon_GridLines sinon il y aura un affichage en surépaisseur.
SendMessage_(GadgetID(1),#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_GRIDLINES, 0) supprime l'affichage du quadrillage (idem pour la remarque).
La solution je pense doit passer par une callback.
Merci
permet d'afficher le quadrillage version Microsoft.
Le quadrillage de PB est un quadrillage maison, si on utilise ce message, il ne faut pas avoir défini le paramètre PB_ListIcon_GridLines sinon il y aura un affichage en surépaisseur.
SendMessage_(GadgetID(1),#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_GRIDLINES, 0) supprime l'affichage du quadrillage (idem pour la remarque).
La solution je pense doit passer par une callback.
Merci
Dernière modification par Anonyme2 le mer. 09/mars/2016 19:26, modifié 1 fois.
Re: ListIcon et redimensionnement colonnes - comment faire p
Shadow a écrit :Chez moi la commande ne fonctionne pas, aucun effet !PB 5.41 LTS 64.Code : Tout sélectionner
SendMessage_(GadgetID(1),#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_GRIDLINES,#LVS_EX_GRIDLINES)
Ton gadget n'a pas le numéro 1 car ce message fonctionne parfaitement en 32/64 bit, c'est une des commandes de ma librairie en asm.
Ou alors ta Listicon n'est pas en mode report (affichage colonnes).
Il y a un problème dans ton code.
Re: ListIcon et redimensionnement colonnes - comment faire p
http://www.purebasic.fr/french/viewtopi ... t=listicon
Bonjour a tous
En ce moment je suis sur mon mobile, je n' ai plus le temp de rien
mais je pense me rappeller que dans cet essai de Listicon
y avoir mis pas mal d options, mais desole!! je ne l' ai pas teste
avec les dernieres versions PB
Cordialement
Bonjour a tous
En ce moment je suis sur mon mobile, je n' ai plus le temp de rien
mais je pense me rappeller que dans cet essai de Listicon
y avoir mis pas mal d options, mais desole!! je ne l' ai pas teste
avec les dernieres versions PB
Cordialement
Re: ListIcon et redimensionnement colonnes - comment faire p
Merci kernadec,
je vais regarder ce lien.
Je potasse la doc Microsoft, j'ai un peu avancé mais pas encore assez
je vais regarder ce lien.
Je potasse la doc Microsoft, j'ai un peu avancé mais pas encore assez
Re: ListIcon et redimensionnement colonnes - comment faire p
J'ai dit une connerie,
#HDN_DIVIDERDBLCLICK permet d'interdire (retourner #true) le redimensionnement automatique par double clic.
C'est l'interception du message #WM_SETCURSOR dans la callback du header (et pas de la listicon) qui permet de dessiner ou non l'icône système, retourner #true pour interdire le redessinement
#HDN_DIVIDERDBLCLICK permet d'interdire (retourner #true) le redimensionnement automatique par double clic.
C'est l'interception du message #WM_SETCURSOR dans la callback du header (et pas de la listicon) qui permet de dessiner ou non l'icône système, retourner #true pour interdire le redessinement
Code : Tout sélectionner
Macro MAC_MakePoints(valeur, pt)
;// valeur doit être un long (=.l) et pt : pt.point
pt\x = MAC_LOWORD(valeur)
pt\y = MAC_HIWORD(valeur)
EndMacro
Macro MAC_HIWORD(Value)
(Value >> 16) & $FFFF
EndMacro
Macro MAC_LOWORD(Value)
Value & $FFFF
EndMacro
;// mémorise les données utilisées avec le message #HDM_HITTEST
Protected phdhti.HDHITTESTINFO
Case #WM_SETCURSOR
;// interdit le changement de curseur lorsque le curseur souris est sur le
;// diviseur de la colonne
MAC_MakePoints(GetMessagePos_(), phdhti\pt)
If ScreenToClient_(Window, @phdhti)
Colonne = SendMessage_(Window, #HDM_HITTEST, 0, @phdhti)
If Colonne <> - 1 And (phdhti\flags & (#HHT_ONDIVIDER|#HHT_ONDIVOPEN))
ProcedureReturn #True
EndIf
EndIf