Bonjour,
Je viens de tester l'UDF et tout fonctionne normalement (pas de scintillement ou autre)
Par contre, il faudrait préciser que tous les contrôles sur la GUI doivent se situer sous les _GUICtrlStatusBarEx_CreateControl() et autres, sinon ils ne sont pas accessibles !
J'ai vu qu'il y a de nouvelles fonctions mais je ne suis pas certain de leur utilité... Proposition:
; #FUNCTION#=====================================================================================================================; Author ........: Anthony Baillou; Modified.......: Anthony Baillou;; Name ..........: _GUICtrlStatusBarEx_CreateFunc; Description ...: Ajoute une fonction à un objet; Syntax ........: _GUICtrlStatusBarEx_CreateFunc( $id_Ctrl, $IndexControl, $iState); Parameters ....: $id_Ctrl - Handle du contrôle.; $IndexFunc - Index de la fonction.1 = clock, 2 = progressbar; $iState - Options de la fonction.; Clock..........: $id_Ctrl, 1, [$iState]; [0] = Affiche une date et/ou une heure.; S'il y a une partie de date, l'afficher comme une date courte.; S'il y a une partie d'une heure, l'afficher comme une heure longue.; Si présent, les deux parties sont affichées.; [1] = Affiche une date en utilisant la date au format long spécifié dans les paramètres régionaux de votre ordinateur.; [2] = Affiche une date en utilisant la date au format court spécifié dans les paramètres régionaux de votre ordinateur.; [3] = Affiche une heure en utilisant l'heure au format spécifié dans les paramètres régionaux de votre ordinateur.; [4] = Affiche une heure en utilisant le format 24 heures (hh:mm).; [5] = Affiche une heure en utilisant le format 24 heures (hh:mm:ss).; ProgressBar.........: $id_Ctrl, 2, [$iState]; $iState = $PBM_NORMAL - normal state (green); $iState = $PBM_ERROR - error state (red); $iState = $PBM_PAUSED - paused style (yellow); ===============================================================================================================================Func _GUICtrlStatusBarEx_CreateFunc
( $id_Ctrl="", $IndexFunc="", $iState="") If $IndexFunc < 1 Or $IndexFunc > 1 Then Return SetError(1) Switch $IndexFunc Case 1 Local $avar[1][2] = [[$id_Ctrl, $iState]] _ArrayAdd( $ClockStatusBarEx, $avar) If UBound($ClockStatusBarEx, 1) = 1 Then _Timer_SetTimer( $MultiStatusBarEx[0][0], 1000, "_UpdateStatusBarClockEx") OnAutoItExitRegister
( "_GUICtrlStatusBarEx_Exit" ) EndIf Case 2 GUICtrlSendMsg($id_Ctrl, $PBM_SETSTATE, $iState, 0) EndSwitchEndFunc
Au moins $IndexFunc aura une utilité
Par contre les entêtes des fonctions ne sont pas à jour, voir fausse comme
$SetBackGroundEx - [optional] "StartColor|EndColor|StatusBarColor". Default is "".
dans _GUICtrlStatusBarEx_Create()
si $SetBackGroundEx n'est pas renseigné, il y a bug !!!
N'oubliez pas que ceux qui utiliseront votre UDF se baseront sur les entêtes ! (et peut être vous même...)
Il manque sérieusement un bonne gestion d'erreurs comme
Func _GUICtrlStatusBarEx_Create
( $hWnd, $SetPartsEx, $SetPartsHeightEx, $SetBackGroundEx) If Not IsHWnd($hWnd) Then Return SetError(1,0,MsgBox(16,"Error",@ScriptLineNumber)) If $SetPartsEx = "" or $SetPartsHeightEx = "" Then Return SetError(1,0,MsgBox(16,"Error",@ScriptLineNumber)) $SetBackGroundEx = StringSplit( $SetBackGroundEx, "|") If Not IsArray($SetBackGroundEx) Or $SetBackGroundEx[0] < 3 Then Return SetError(1,0,MsgBox(16,"Error",@ScriptLineNumber))etc
...............
J'ai envoyé un mail au Premier Ministre pour maintenir le confinement jusqu'à la fin juin pour que vous puissiez finir votre UDF
Une p'tit pensée pour Mikell
viewtopic.php?f=3&t=13392&p=93696&hilit=mikell#p93696