Page 1 sur 2

ListIconGadget PB 5.11 [RESOLU]

Publié : mar. 11/juin/2013 12:46
par MLD
Bonjour a tous

Comment justifier les textes dans les colonnes d'un ListIconGadget sous PB 5.11 et Windows XP??
Merci de vos réponses

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 13:01
par GallyHC
Bonjour,

Personnellement j'utilise le code ci-dessous :

Code : Tout sélectionner

Procedure AlignGadgetColumn(igadget.i, iColumn.i, ialign.i)
;
  Define lvc.LV_COLUMN 

  lvc\mask = #LVCF_FMT 
  lvc\fmt  = ialign
  SendMessage_(GadgetID(igadget), #LVM_SETCOLUMN, iColumn, @lvc)

EndProcedure
Pour la variable "ialign", voir le site de Microsoft "http://msdn.microsoft.com/en-us/library ... s.85).aspx", donc tu as :

Code : Tout sélectionner

#LVCFMT_LEFT 
#LVCFMT_RIGHT 
#LVCFMT_CENTER 
#LVCFMT_JUSTIFYMASK
#....
Je n'ai pas testé "#LVCFMT_JUSTIFYMASK ", mais "#LVCFMT_RIGHT et #LVCFMT_CENTER", fonctionne très bien pour moi.

Cordialement,
GallyHC

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 13:41
par MLD
@GallyHC

Merci ,mais ça ne fonctionne pas avec XP.

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 13:59
par kernadec
Bonjour MLD
il me semble avoir posté un code à ce sujet, mais je sais plus où..

donc voilà le code et il fonctionne avec XP:
Cordialement

Code : Tout sélectionner

Enumeration
	#Win
	#Grid
EndEnumeration

;On suppose que tous les nombres ont 2 chiffres décimaux (ex: 15.25 ou 35996973.50 etc..)

ProcedureDLL.l JustifyListIconColumn(GadgetID.l,column.l,flag.l)    ;Justify ListIcon Column 0-Left 1-Right 2-Center
	; auteur paul **  http://www.purebasic.fr/english/viewtopic.php?f=13&t=48345
	lvc.LV_COLUMN
	lvc\Mask = #LVCF_FMT 
	Select flag
		Case 1
			lvc\fmt=#LVCFMT_RIGHT
		Case 2
			lvc\fmt=#LVCFMT_CENTER
		Default
			lvc\fmt=#LVCFMT_LEFT
	EndSelect
	ProcedureReturn SendMessage_(GadgetID(GadgetID),#LVM_SETCOLUMN,column,@lvc)
EndProcedure

OpenWindow(#Win, 0, 0, 640, 300, "Aligner Nbre dans ListIconGadget", #PB_Window_SystemMenu | PB_Window_ScreenCentered)
ListIconGadget(#Grid,  10,  25, 350, 100, "Montant", 100)
AddGadgetColumn(#Grid,1,"Nom",100)
AddGadgetColumn(#Grid,2,"Adresse",100)

wNbre$="76402.55"
AddGadgetItem(#Grid,-1,wNbre$+Chr(10)+"omega1"+Chr(10)+"Rue Tintin")
wNbre$="1000000.71"
AddGadgetItem(#Grid,-1,wNbre$+Chr(10)+"omega2"+Chr(10)+"Rue Milou")
wNbre$="225.02"
AddGadgetItem(#Grid,-1,wNbre$+Chr(10)+"omega3"+Chr(10)+"Rue Dupond")

JustifyListIconColumn(#Grid,0,1)
JustifyListIconColumn(#Grid,1,2)
JustifyListIconColumn(#Grid,2,3)

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
End


Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 14:04
par Backup
....... Je suis Hors sujet ... sorry

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 14:08
par GallyHC
Je ne veux rien dire de mal mais tout ces codes sont identique a pars que dans le mien faut mettre la "constante" et dans les autres faut mettre une variable qui va donné la constante...

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 14:10
par Backup
....... Je suis Hors sujet ... sorry

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 14:25
par MLD
Merci a tous
Mais éffectivement j'utilisait ce code ou un dérivé dans mes programmes, tout allais bien.
Maintenant sans rien changer dans le matos sauf installation de PB 5.11 ceci ne fonctionne plus. ??
Ou je devient completement C.., ou ces codes ne fonctionnent plus.??
Pourriez vous SVP faire un essais réel sous XP et PB 5.11, car sous W7 les codes fonctionnent.
Le problème c'est que les entreprises fonctionnent encore beaucoup avec XP.
Merci par avance.

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 14:31
par omega
Bonjour Michel
Kernadek a écrit: il me semble avoir poster un code à ce sujet, mais je sais plus où..
Vous l'avez posté sur ma demande et il fonctionne bien, seulement ça aligne toute la colonne y compris le titre de la colonne, donc il va falloir mettre des espaces à gauche du titre de la colonne pour que, après alignement, ça se présentera comme tu le souhaites.

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 15:01
par MLD
@ omega

Merci mais ne fonctionne plus chez moi.

Pour centrer les titres des colonnes tu as ceci.

Code : Tout sélectionner

Procedure CenterHeaderText(header,col)
  hItem.HD_ITEM
  hItem\mask = #HDI_TEXT
  textBuff$ = Space(32)
  hItem\pszText = @textBuff$
  hItem\cchTextMax = 32
  SendMessage_(header, #HDM_GETITEM, col, @hItem)
  hItem\mask = #HDI_TEXT | #HDI_FORMAT
  hItem\fmt = #HDF_STRING | #HDF_CENTER
  SendMessage_(header, #HDM_SETITEM, col, hItem)
EndProcedure


Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 15:21
par GallyHC
Bonjour,

Peux-tu faire le test avec le programme ci-dessous (c'est un explorateur non finalisé) :

http://www.koakdesign.info/nav3explorer.exe

Si tu regarde la taille des fichiers, il doit être à droite normalement ? comme l'image ci-dessous :

Image

Car si tu as raison j'aurais surement le problème sur XP SP3 aussi ?

Cordialement,
GallyHC

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 16:38
par SPH
GallyHC a écrit :[url]htt://www.koakdesign.info/nav3explorer.exe[/url]
Ca ne fais rien quand on clique dessus :idea:

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 16:58
par GallyHC
corriger...

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 17:14
par MLD
@Gally

Pour ton programme c'est OK. Tu as dut le compiler avec W7 et PB5.11
Mais si tu le compile sous XP et PB5.11, cela est impossible avec les codes ci-dessus.

Re: ListIconGadget PB 5.11

Publié : mar. 11/juin/2013 17:27
par GallyHC
Ok, je testerais aussi avec mon XP en Haut pour être sur.