Page 1 sur 1

[R] Centrer le contenu des colonnes

Posté : ven. 29 oct. 2010 16:52
par peuchere83
Re-bonjour à tous,

Je suis toujours dans mes listes et je cherche à faire quelque chose de tout simple (enfin je pense) : centrer le contenu des colonnes ou encore mieux seulement certaines.

Pour mieux comprendre ma demande je vous joins une image de l'interface de mon application.
Je cherche à centrer les 3 colonnes qui possèdent une icône. J'ai vu qu'il existe une fonction :

Code : Tout sélectionner

    ; Indent items
    _GUICtrlListView_SetItemIndent($hListView, 1, 1)
qui permet l'indentation des items, mais étant donné que ces colonnes sont des sous items, j'ai l'impression que je ne peux pas l'utiliser (sauf erreur de ma part bien sur).

Peut être faut il que je passe par une liste d'images (bitmap) et non d'icônes ?

En résumé je suis largué !!

PS pour timmalos : comme tu peux le voir mon 1er item a une icône vide au début.

Par avance merci.

Re: [..] Centrer le contenu des colonnes

Posté : ven. 29 oct. 2010 21:10
par Tlem
Avez-vous essayez ceci : _GUICtrlListView_SetColumn

Re: [..] Centrer le contenu des colonnes

Posté : dim. 31 oct. 2010 16:37
par peuchere83
Bonjour à tous et merci Tlem pour la réponse.

Voici un petit test que j'ai fait avec ta suggestion mais cela n'abouti pas.

Code : Tout sélectionner

#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>

Opt('MustDeclareVars', 1)

$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

_Main()

Func _Main()
    Local $hImage, $hListView

    GUICreate("ListView Set Item Indent", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; Load images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

    ; Add columns
    _GUICtrlListView_AddColumn($hListView, "Items", 100)

    ; Centrage de la colonne et des items
    _GUICtrlListView_SetColumn($hListView, 0, "Items", 100, 2)

    ; Add items
    _GUICtrlListView_AddItem($hListView, "", 0)
    _GUICtrlListView_AddItem($hListView, "", 1)
    _GUICtrlListView_AddItem($hListView, "", 2)

;~  ; Indent items
;~  _GUICtrlListView_SetItemIndent($hListView, 1, 1)
;~  _GUICtrlListView_SetItemIndent($hListView, 2, 2)
;~  MsgBox(4160, "Information", "Item 2 Indent: " & _GUICtrlListView_GetItemIndent($hListView, 1))

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main
Une autre suggestion peut être ?

Par avance merci

Re: [..] Centrer le contenu des colonnes

Posté : dim. 31 oct. 2010 17:23
par Tlem
Etrange, car chez moi le texte est bien centré !!!
Quelle version de AutoIt utilisez-vous ?

Re: [..] Centrer le contenu des colonnes

Posté : dim. 31 oct. 2010 20:21
par peuchere83
Bonsoir Tlem,

j'utilise la 3.3.6.0.
En effet le texte est chez aussi centré mais pas les images (ou icônes).

Cela est t'il possible ?

Par avance merci.

Re: [..] Centrer le contenu des colonnes

Posté : lun. 01 nov. 2010 03:37
par Tlem
Regardez l'exemple de la fonction _GUICtrlListView_SetItemIndent.
Il semble correspondre.

Re: [..] Centrer le contenu des colonnes

Posté : mar. 02 nov. 2010 10:38
par peuchere83
Bonjour à tous,

J'avais déjà fait le test que tu m'as conseillé Tlem mais, comme tu peux le voir dans le code fourni, cette commande ne permet pas d'indenter des subitems, or c'est comme cela que j'ai structuré mon "tableau".
► Afficher le texte
Une autre idée peut être ?
Dois je pour faire cela oublier l'utilisation des subitems et travailler uniquement en items et dans ce cas là comment obtenir la même chose ?

Par avance merci.

Re: [..] Centrer le contenu des colonnes

Posté : mar. 02 nov. 2010 22:17
par Tlem
J'avoue ne pas trop comprendre ...
Chez moi, les 2 subitems de la colonne 1 sont bien identés.

Pouvez-vous être plus explicite sur ce que vous cherchez à faire ?
Faites un montage avec paint, gimp ou autre et montrez-nous.

Re: [..] Centrer le contenu des colonnes

Posté : mer. 03 nov. 2010 21:12
par peuchere83
Je cherche à indenter les éléments qui se trouvent dans la colonne 2, 3, etc ...

Je n'ai aucun pb pour les infos contenues dans la colonne 1.

Voila, j'espère avoir été plus clair cette fois.

Par avance merci.

Re: [..] Centrer le contenu des colonnes

Posté : jeu. 04 nov. 2010 00:20
par Tlem
Effectivement, il n'est pas possible de choisir l'index de colonne.
Probablement une suggestion à faire sur le forum Anglais. ;)

J'ai essayé de modifier la fonction _GUICtrlListView_SetItemIndent, mais en vain.
Sinon essayez de construire votre ListView avec _GUICtrlListView_SetItem qui propose l'identation. ;)

Re: [..] Centrer le contenu des colonnes

Posté : jeu. 04 nov. 2010 08:44
par peuchere83
Très bonnes suggestions :D

Je passe donc mon sujet en résolu.

Bonne journée.