Page 1 sur 1

[R] Petite ListView, problème d'affichage.

Posté : mar. 23 févr. 2010 15:12
par Stigmate
Bonjours, j'ai créé une listview qui pour l'exemple, liste simplement le contenu de mon bureau.
Mon problème étant que le nom de mes fichiers est tronqué car la listview est petite.
Est il possible de supprimer cette ligne à étirer ? (la colonne en somme)
Et peut être d'y rajouter une bar de défilement en bas pour lire l'intégralité d'un nom de fichier ?
J'ai essayé en ne mettant rien entre les "" du header de la colonne mais dans se cas les nom de fichier son sélectionnable mais invisible.

Code : Tout sélectionner

$Listview = GUICtrlCreateListView("", 10, 10, 200, 150)


J'ai également essayé se style : $LVS_NOCOLUMNHEADER
Il enlève effectivement le header tout entier et même la ligne qui permet d'étirer la colonne, mais les noms de fichier son toujours tronqué.

Petite vision de la listview :

Image

Quelqu'un connais il une solution ?
Ou la solution est elle autre que la listview ? J'aimerais juste une simple liste avec des éléments sélectionnables...

Re: [..] Petite ListView, problème d'affichage.

Posté : mar. 23 févr. 2010 16:03
par timmalos
Ilva falloir passer par l'UDF ListView. Dans l'un des exemples on voit facilement comment rajouter la barre de defilement et il existe une fonction qui ressemble a ca : _GuiCtrlListView_SetColumnWidth qui permet d'etirer la colonne.

Re: [..] Petite ListView, problème d'affichage.

Posté : mar. 23 févr. 2010 17:40
par Stigmate
Super, merci beaucoup.

Pour ceux qui passeront par la :

Code : Tout sélectionner

#Include <GuiListView.au3>  ;l'UDF a inclure
_GUICtrlListView_SetColumnWidth($hWnd, $iCol, $iWidth)  ;La fonction
 
Avec :
$hWnd : Handle du control.
$iCol : Mettre 0 comme valeur.
$iWidth : La nouvelle largeur de la colonne en pixel.

Re: [R] Petite ListView, problème d'affichage.

Posté : mar. 23 févr. 2010 19:17
par timmalos
J'ai une super mémoire j'ai donné le nom exacte de la fonction :roll:

Re: [R] Petite ListView, problème d'affichage.

Posté : mer. 24 févr. 2010 01:03
par Tlem
Sinon, sans utiliser l'include, vous pouvez faire ceci :

Code : Tout sélectionner

GUICtrlSendMsg($CtrlID, 0x1030, $iCol, $iWidth)
Par ce que l'include GuiListView.au3 contient des includes qui eux même contiennent des includes, qui eux même ...

Ce qui nous donne :
  • GuiListView.au3 = 351 Ko
    GuiHeader.au3 = 79 Ko
    HeaderConstants.au3 = 8 Ko
    Array.au3 = 69 Ko
    Memory.au3 = 27 Ko
    MemoryConstants.au3 = 3 Ko
    WinAPI.au3 = 371 Ko
    StructureConstants.au3 = 197 Ko
    SendMessage.au3 = 5 Ko
    UDFGlobalID.au3 = 9 Ko
    ListViewConstants.au3 = 22 Ko
    ProcessConstants.au3 = 2 Ko
    FileConstants.au3 = 4 Ko
    Security.au3 = 30 Ko
    SecurityConstants.au3 = 5 Ko
    WinAPIError.au3 = 3 Ko
Soit un total de 1185 Ko !!!
Pour une seule commande, ca fait un peut beaucoup non ... :wink:

Re: [R] Petite ListView, problème d'affichage.

Posté : mer. 24 févr. 2010 13:39
par Stigmate
Il est vrai que sa allège pas mal :)
Par contre je ne comprend pas quoi mettre en paramètre dans se cas la...
Ici a quoi correspond le "0x1030" ?
Je n'ai pas trouvé la fonction associé dans l'aide, et tel qu'elle la fonction ne marche pas...

Code : Tout sélectionner

GUICtrlSendMsg($CtrlID, 0x1030, $iCol, $iWidth)

Re: [R] Petite ListView, problème d'affichage.

Posté : mer. 24 févr. 2010 15:57
par Tlem
:oops: :oops: :oops: :oops:

Heuuu désolé, j'ai mal calculé ...
En fait il faut faire :

Code : Tout sélectionner

GUICtrlSendMsg($CtrlID, 0x1000 + 30, $iCol, $iWidth)
tout est dans les includes. ;)
Cela correspond à la variable $LVM_SETCOLUMNWIDTH de l'include ListViewConstants.au3. ;)

Explications :
► Afficher le texte

Re: [R] Petite ListView, problème d'affichage.

Posté : dim. 28 févr. 2010 12:13
par Stigmate
S'est impeccable ! Merci pour les explications. :)

Re: [R] Petite ListView, problème d'affichage.

Posté : dim. 28 févr. 2010 16:00
par Habibsbib
XD

Il y a mille fois plus simple : mets des espaces après le nom de la colonne à créer ^^

Vous avez l'art de vous casser la tête, vous autres...

Re: [R] Petite ListView, problème d'affichage.

Posté : dim. 28 févr. 2010 20:12
par Stigmate
Faux, cela ne marche seulement que pour quelques espaces. D'ou ma demande. :)

Re: [R] Petite ListView, problème d'affichage.

Posté : dim. 28 févr. 2010 21:09
par Tlem
Et puis si pour une raison ou une autre il faut modifier le texte, il faut aussi recalculer le nombre d'espaces ... :lol:

C'est la solution qu'on utilise pour pas ce casser la tête, mais au final, c'est la moins pro. :P