[..] Résultats incohérents avec fonction _GUICtrlStatusBar_SetParts()
Posté : lun. 25 nov. 2019 11:50
Bonjour,
Voici le code issu de l'aide d'AutoIt :
Au lieu d'obtenir une barre de status avec trois parties de la taille 75, 150 et le reste, les tailles obtenues sont respectivement 75, 73 et 248.
Avez-vous le même problème ?
Est-ce dû à la version d'AutoIt que j'utilise ?
Voici le code issu de l'aide d'AutoIt :
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $hGUI, $hStatus
Local $aParts[3] = [75, 150, -1]
; Create GUI
$hGUI = GUICreate("StatusBar Set Parts", 400, 300)
$hStatus = _GUICtrlStatusBar_Create($hGUI)
; Create memo control
$g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
; Set parts
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
;Set Text/ Get Width
Local $iParts = _GUICtrlStatusBar_GetCount($hStatus)
For $iI = 1 To $iParts
_GUICtrlStatusBar_SetText($hStatus, "Text " & $iI, $iI - 1)
MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI - 1))
Next
; Loop until the user exits.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example
; Write message to memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $hGUI, $hStatus
Local $aParts[3] = [75, 150, -1]
; Create GUI
$hGUI = GUICreate("StatusBar Set Parts", 400, 300)
$hStatus = _GUICtrlStatusBar_Create($hGUI)
; Create memo control
$g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
; Set parts
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
;Set Text/ Get Width
Local $iParts = _GUICtrlStatusBar_GetCount($hStatus)
For $iI = 1 To $iParts
_GUICtrlStatusBar_SetText($hStatus, "Text " & $iI, $iI - 1)
MemoWrite("Part " & $iI & " width .: " & _GUICtrlStatusBar_GetWidth($hStatus, $iI - 1))
Next
; Loop until the user exits.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example
; Write message to memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
Au lieu d'obtenir une barre de status avec trois parties de la taille 75, 150 et le reste, les tailles obtenues sont respectivement 75, 73 et 248.
Avez-vous le même problème ?
Est-ce dû à la version d'AutoIt que j'utilise ?