Opened 8 years ago
Closed 8 years ago
#3518 closed Bug (Fixed)
_GUICtrlStatusBar_SetParts() - cannot set parts from $aPartWidth
Reported by: | anonymous | Owned by: | Jpm |
---|---|---|---|
Milestone: | 3.3.15.1 | Component: | AutoIt |
Version: | 3.3.14.0 | Severity: | None |
Keywords: | Cc: |
Description
As summary says - function cannot properly set parts based on width array. Correction is simple - when filling structure from width array you need use:
$cParts = 0 ... $cParts += $aPartWidth[$x] DllStructSetData($tParts, 1, $cParts, $x + 1)
instead:
DllStructSetData($tParts, 1, $aPartWidth[$x], $x + 1)
Attachments (0)
Change History (6)
comment:1 Changed 8 years ago by Jpm
comment:2 Changed 8 years ago by anonymous
Hi,
I invented $cParts myself for purpose of countering bug in _GUICtrlStatusBar_SetParts().
Basically it calculates right edge of parts from parts width.
on a side note - is may english so bad?
comment:3 Changed 8 years ago by Jpm
I still don't undrstand just follow Ticket creation guidelines as I don't have a cristal ball to reproduce
comment:4 Changed 8 years ago by anonymous
i do not have mach time left...
#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <GuiStatusBar.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Local $Form1 = GUICreate("Form1", 889, 334, 742, 690) Local $Button1 = GUICtrlCreateButton("Click to see BUG with PartsWidth", 424, 88, 128, 128, $BS_MULTILINE) Local $StatusBar1 = _GUICtrlStatusBar_Create($Form1) ; Local $StatusBar1_PartsRightEdge[8] = [50, 100, 150, 200, 250, 300, 350, -1] Local $StatusBar1_PartsWidth[8] = [50, 50, 50, 50, 50, 50, 50, -1] ; _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsRightEdge) _GUICtrlStatusBar_SetText($StatusBar1, "0", 0) _GUICtrlStatusBar_SetText($StatusBar1, "1", 1) _GUICtrlStatusBar_SetText($StatusBar1, "2", 2) _GUICtrlStatusBar_SetText($StatusBar1, "3", 3) _GUICtrlStatusBar_SetText($StatusBar1, "4", 4) _GUICtrlStatusBar_SetText($StatusBar1, "5", 5) _GUICtrlStatusBar_SetText($StatusBar1, "6", 6) _GUICtrlStatusBar_SetText($StatusBar1, "7", 7) _GUICtrlStatusBar_SetMinHeight($StatusBar1, 24) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### $k = False While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $k = Not $k If $k Then _GUICtrlStatusBar_Destroy ($StatusBar1) $StatusBar1 = _GUICtrlStatusBar_Create($Form1) GUICtrlSetData ($Button1, "Click to see there a no BUG with PartsRightEdge") _GUICtrlStatusBar_SetParts($StatusBar1, -1, $StatusBar1_PartsWidth) _GUICtrlStatusBar_SetText($StatusBar1, "0", 0) _GUICtrlStatusBar_SetText($StatusBar1, "1", 1) _GUICtrlStatusBar_SetText($StatusBar1, "2", 2) _GUICtrlStatusBar_SetText($StatusBar1, "3", 3) _GUICtrlStatusBar_SetText($StatusBar1, "4", 4) _GUICtrlStatusBar_SetText($StatusBar1, "5", 5) _GUICtrlStatusBar_SetText($StatusBar1, "6", 6) _GUICtrlStatusBar_SetText($StatusBar1, "7", 7) _GUICtrlStatusBar_SetMinHeight($StatusBar1, 24) Else _GUICtrlStatusBar_Destroy ($StatusBar1) $StatusBar1 = _GUICtrlStatusBar_Create($Form1) GUICtrlSetData ($Button1, "Click to see BUG with PartsWidth") _GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsRightEdge) _GUICtrlStatusBar_SetText($StatusBar1, "0", 0) _GUICtrlStatusBar_SetText($StatusBar1, "1", 1) _GUICtrlStatusBar_SetText($StatusBar1, "2", 2) _GUICtrlStatusBar_SetText($StatusBar1, "3", 3) _GUICtrlStatusBar_SetText($StatusBar1, "4", 4) _GUICtrlStatusBar_SetText($StatusBar1, "5", 5) _GUICtrlStatusBar_SetText($StatusBar1, "6", 6) _GUICtrlStatusBar_SetText($StatusBar1, "7", 7) _GUICtrlStatusBar_SetMinHeight($StatusBar1, 24) EndIf EndSwitch WEnd
comment:5 Changed 8 years ago by Jpm
I understand,
The Function and the doc need to be fixed as passing @aParts[] and $aPartsWidth[] can be conflictual
Definitly if no Parts, the widths must be sum up
Not sure what to do with Widths not positive
comment:6 Changed 8 years ago by Jpm
- Milestone set to 3.3.15.1
- Owner set to Jpm
- Resolution set to Fixed
- Status changed from new to closed
Fixed by revision [11831] in version: 3.3.15.1
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
Hi,
I don't know where you get such $cParts has I cannot see any change in this area
PLease use the standard Delivery or the beta