Modify

Opened 12 years ago

Closed 12 years ago

#2493 closed Bug (Fixed)

Examples for _GUICtrlToolbar_GetMetrics, _GUICtrlToolbar_SetMetrics

Reported by: mlipok Owned by: J-Paul Mesnage
Milestone: 3.3.9.22 Component: Documentation
Version: 3.3.9.21 Severity: None
Keywords: Cc:

Description

Example from Helpfile is not good, because in my opinion it does not show clearly how the appearance of the toolbar.

Please make a better example that show how Toolbar visually changing.

#include <GuiToolbar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $iMemo

Example()

Func Example()
	Local $hGUI, $hToolbar, $aMetrics
	Local Enum $idNew = 1000, $idOpen, $idSave, $idHelp

	; Create GUI
	$hGUI = GUICreate("Toolbar", 400, 300)
	$hToolbar = _GUICtrlToolbar_Create($hGUI)
	$iMemo = GUICtrlCreateEdit("", 2, 36, 396, 262, $WS_VSCROLL)
	GUICtrlSetFont($iMemo, 10, 400, 0, "Courier New")
	GUISetState()

	; Add standard system bitmaps
	Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
		Case 0
			_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
		Case 2
			_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
	EndSwitch

	; Add buttons
	_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW)
	_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
	_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
	_GUICtrlToolbar_AddButtonSep($hToolbar)
	_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)

	MemoWrite("Before _GUICtrlToolbar_SetMetrics")

	Sleep(1000)
	GUISetState(@SW_LOCK)
	; Set control metrics
	MemoWrite("Step 1:")
	MemoWrite("$iXPad = 10")
	_GUICtrlToolbar_SetMetrics($hToolbar, 10, 0, 0, 0)
	GUISetState(@SW_UNLOCK)

	Sleep(1000)
	GUISetState(@SW_LOCK)
	; Set control metrics
	MemoWrite("Step 2:")
	MemoWrite("$iYPad = 10")
	_GUICtrlToolbar_SetMetrics($hToolbar, 0, 10, 0, 0)
	GUISetState(@SW_UNLOCK)

	Sleep(1000)
	GUISetState(@SW_LOCK)
	; Set control metrics
	MemoWrite("Step 3:")
	MemoWrite("$iXSpacing = 10")
	_GUICtrlToolbar_SetMetrics($hToolbar, 0, 0, 10, 0)
	GUISetState(@SW_UNLOCK)

	Sleep(1000)
	GUISetState(@SW_LOCK)
	; Set control metrics
	MemoWrite("Step 4:")
	MemoWrite("$iYSpacing = 10")
	_GUICtrlToolbar_SetMetrics($hToolbar, 0, 0, 0, 10)
	GUISetState(@SW_UNLOCK)

	Sleep(1000)
	GUISetState(@SW_LOCK)
	; Set control metrics
	MemoWrite("")
	MemoWrite("Step 5:")
	MemoWrite("$iXPad = 10")
	MemoWrite("$iYPad = 10")
	MemoWrite("$iXSpacing = 10")
	MemoWrite("$iYSpacing = 10")
	_GUICtrlToolbar_SetMetrics($hToolbar, 10, 10, 10, 10)
	GUISetState(@SW_UNLOCK)

	; Show control metrics
	$aMetrics = _GUICtrlToolbar_GetMetrics($hToolbar)
	MemoWrite("Button padding width ...: " & $aMetrics[0])
	MemoWrite("Button padding height ..: " & $aMetrics[1])
	MemoWrite("Button spacing width ...: " & $aMetrics[2])
	MemoWrite("Button spacing height ..: " & $aMetrics[3])

	; Loop until user exits
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Write message to memo
Func MemoWrite($sMessage = "")
	GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

Initially I prepared a better example as you can see, however, does not work.
Therefore, I wonder if this is not a bug in the UDF I mean GuiToolbar.au3.

ps.
The first problem noted AZJIO:
http://www.autoitscript.com/forum/topic/153782-help-filedocumentation-issues-discussion-only/page-7#entry1121228

Attachments (0)

Change History (3)

comment:1 by mlipok, 12 years ago

now I know more:

look in _GUICtrlToolbar_SetPadding():
in Remarks: "Padding is only applied to buttons that
have the $TBSTYLE_AUTOSIZE style."

First note:
$TBSTYLE_AUTOSIZE is no where defined, it seems that it is more about $BTNS_AUTOSIZE

But when I use:

	_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0, $BTNS_AUTOSIZE)
	_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, 0, $BTNS_AUTOSIZE)
	_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE, 0, $BTNS_AUTOSIZE)
	_GUICtrlToolbar_AddButtonSep($hToolbar)
	_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, 0, $BTNS_AUTOSIZE)

Despite this, using this example, can not see the visual change ToolBar Control.

comment:2 by mlipok, 12 years ago

I forgot to say that the same problem is in the example in the documentation functions: _GUICtrlToolbar_SetPadding ()

comment:3 by J-Paul Mesnage, 12 years ago

Milestone: 3.3.9.22
Owner: set to J-Paul Mesnage
Resolution: Fixed
Status: newclosed

Fixed by revision [9102] in version: 3.3.9.22

Modify Ticket

Action
as closed The owner will remain J-Paul Mesnage.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.