Page 1 sur 1
[..] Forcer un controle à occuper toutes la zone cliente.
Posté : mer. 16 mai 2012 11:49
par foulques
Bonjour,
J'ai créé fenêtre classique :
Puis un "treeview" dans cette fenêtre :
Comment forcer ce "treeview" à occuper toute la zone cliente de la fenêtre et à se redimensionner automatiquement sur redimensionnement de cette ci ?
J'ai essayé sans succès :
Code : Tout sélectionner
GUICtrlSetResizing( $_treeview , $GUI_DOCKALL or $GUI_DOCKAUTO)
Cordialement.
Re: [..] Forcer un controle à occuper toutes la zone cliente
Posté : mer. 16 mai 2012 13:05
par matwachich
C'est $GUI_DOCKBORDERS qu'il faut utiliser
Re: [..] Forcer un controle à occuper toutes la zone cliente
Posté : mer. 16 mai 2012 13:57
par mikell
Exact mais pour un "treeview qui doit occuper toute la zone cliente de la fenêtre", $GUI_DOCKAUTO devrait marcher
Hum chez moi ce code fonctionne bien
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("My GUI with treeview", 250, 200, -1, -1, $WS_OVERLAPPEDWINDOW ,$WS_EX_CLIENTEDGE) ;$WS_SIZEBOX)
$treeview = GUICtrlCreateTreeView(0, 0, 250, 200)
GUICtrlSetResizing( $treeview , $GUI_DOCKAUTO)
$generalitem = GUICtrlCreateTreeViewItem("General", $treeview)
GUICtrlSetColor(-1, 0x0000C0)
$displayitem = GUICtrlCreateTreeViewItem("Display", $treeview)
GUICtrlSetColor(-1, 0x0000C0)
$aboutitem = GUICtrlCreateTreeViewItem("About", $generalitem)
$compitem = GUICtrlCreateTreeViewItem("Computer", $generalitem)
$useritem = GUICtrlCreateTreeViewItem("User", $generalitem)
$resitem = GUICtrlCreateTreeViewItem("Resolution", $displayitem)
$otheritem = GUICtrlCreateTreeViewItem("Other", $displayitem)
GUISetState()
Sleep(2000)
WinMove($gui, "", Default, Default, 500, 400)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
Re: [..] Forcer un controle à occuper toutes la zone cliente
Posté : mer. 16 mai 2012 15:05
par foulques
Merci.
Cela fonctionne, ... à condition d'avoir créé un treeView calé en 0,0 et d'avoir forcé sa taille à celle de la zone cliente de la fenêtre, après l'avoir acquise par :
Code : Tout sélectionner
$_mainWindow = GUICreate(...)
Local $winSize = WinGetClientSize( $_mainWindow)
Local $widthClient = $winSize[0]
Local $heightClient = $winSize[1]
$_treeview = GUICtrlCreateTreeView(0, 0, $widthClient, $heightClient, ...)
GUICtrlSetResizing( $_treeview , $GUI_DOCKBORDERS)
Re: [..] Forcer un controle à occuper toutes la zone cliente
Posté : mer. 16 mai 2012 16:53
par TT22
@ foulques : Si ton problème est résolu, met [R] dans ton titre (à la place de [..])

Re: [R] Forcer un controle à occuper toutes la zone cliente.
Posté : mer. 16 mai 2012 18:19
par foulques
Réponses satisfaisantes, le sujet est donc clos.
Merci.
Re: [..] Forcer un controle à occuper toutes la zone cliente
Posté : ven. 18 mai 2012 16:46
par blacksoul305
Il faut éditer le titre de ton premier message pour passer le sujet résolu.