Justifier une colonne à droite

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Justifier une colonne à droite

Message par falsam »

Bonjour, il y a t'il un moyen de justifier une donnée dans une colonne d'un gadget ListIconGadget ?
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%
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Justifier une colonne à droite

Message par Ollivier »

Oui! Mais le problème c'est que je ne sais pas qu'est-ce que signifie « justifier ». Est-ce que, s'il-te-plaît, tu peux préciser pour un ignorant comme moi ce que ça veut dire?
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Justifier une colonne à droite

Message par falsam »

Par défaut les données situées à l'intérieur des colonnes du gadget ListIconGadget sont cadrées à gauche. je souhaiterais que mes données, en particulier mes données numériques soient cadrées à droite.
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%
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Justifier une colonne à droite

Message par Ollivier »

Ok, voici un exemple que j'ai créé grâce au post de PB >>> Center ListIconGadget column titles?

J'ai juste pris l'exemple de la doc et y ai ajouté le code de PB, avec une petite modif car lui c'était un centrage qu'il voulait.

Code : Tout sélectionner

 If OpenWindow(0, 100, 100, 500, 100, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 5, 5, 490, 90, "Nom", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
   AddGadgetColumn(0, 1, "Adresse", 250)
   AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
   AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
   
   lvc.LV_COLUMN
lvc\mask = #LVCF_FMT
lvc\fmt = #LVCFMT_RIGHT
NumeroColonne = 1 ; (0 = première colonne, 1 = deuxième colonne, etc...)
SendMessage_(GadgetID(0),#LVM_SETCOLUMN,NumeroColonne,@lvc) ; 0 = Column.


   
   Repeat
     Evenement = WaitWindowEvent()
   Until Evenement = #PB_Event_CloseWindow
EndIf
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Justifier une colonne à droite

Message par falsam »

Génial, merci beaucoup. SendMessage est une fonction de windows que j'assimile plutôt mal.
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 : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Justifier une colonne à droite

Message par falsam »

/me fait un réve .....

AddGadgetColumn(#Gadget, Position, Titre$, Largeur,[, Options]))

Le paramètre facultatif 'Options' peut être une combinaison des constantes suivantes:
#PB_Column_Right : Aligne le texte de la colonne à droite
#PB_Column_Center : Aligne le texte de la colonne au centre

:)
Dernière modification par falsam le sam. 11/sept./2010 13:53, modifié 1 fois.
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%
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Justifier une colonne à droite

Message par Ollivier »

Ollivier a écrit :Est-ce que, s'il-te-plaît, tu peux préciser pour un ignorant comme moi ce que ça veut dire?
Ben quoi! Je t'ai pourtant prévenu que j'étais un ignorant! :D
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Justifier une colonne à droite

Message par Ollivier »

Bourc'hrôwaâh... Ce n'est même pas un extrait de la doc de PureBasic qu'il a tamponné, mais c'est juste un de ses rêves, un rêve perso à lui tout seul... Vas-y je me casse 2 ou 3 jours la queue entre les jambes. Je reviendrais quand j'aurai un cerveau...

Là, je viens de me « justifier » que j'étais vraiment à l'Ouest...

Bon... En attendant, une procédure peut faciliter la présentation. Et SendMessage_() est plus ou moins universel sous Windows. Ce qui est complexe c'est l'ensemble des arguments possible. Mais il y a l'aide µsoft en ligne. Et puis Fred tâche de compléter petit à petit aussi. Peut-être qu'il rajoutera cette option, il y a une section spécialisée pour faire évoluer le langage en ajoutant ses idées personnelles.

Code : Tout sélectionner

Procedure JustifyColumn(Gadget, Column, FMT)
      Lvc.LV_COLUMN
      Lvc\Mask = #LVCF_FMT
      Select FMT
            Case 0
                  Lvc\FMT = #LVCFMT_LEFT
            Case 1
                  Lvc\FMT = #LVCFMT_CENTER
            Case 2
                  Lvc\FMT = #LVCFMT_RIGHT
      EndSelect
      SendMessage_(GadgetID(Gadget), #LVM_SETCOLUMN, Column, @Lvc)
EndProcedure

If OpenWindow(0, 100, 100, 500, 100, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ListIconGadget(0, 5, 5, 490, 90, "Nom", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
   AddGadgetColumn(0, 1, "Adresse", 250)
   AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
   AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
   
      NumeroColonne = 1 ; (0 = première colonne, 1 = deuxième colonne, etc...)
      JustifyColumn(0, 1, 2)

   
   Repeat
     Evenement = WaitWindowEvent()
   Until Evenement = #PB_Event_CloseWindow
EndIf
charvista
Messages : 5
Inscription : dim. 13/déc./2009 14:05

Re: Justifier une colonne à droite

Message par charvista »

Cent millions de fois merci pour ton code de justification, Ollivier! :D J'en avais justement besoin et ça marche très bien!
Impeccable... et facile à utiliser par surcroît. Étonnant que cette fonction ne soit pas standard dans PureBasic...

Merci falsam d'avoir posé la question avant moi! :twisted:
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Justifier une colonne à droite

Message par Ollivier »

Charvista a écrit :Cent millions de fois merci pour ton code de justification, Ollivier!
La fin "justifie" les moyens :mrgreen:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Justifier une colonne à droite

Message par Backup »

pour ma part a peine le code etait posté , qu'il a rejoint ma collection :)

il y aura peut etre un cognitio 2 un de ces 4 :lol:
Répondre