PDA

Показать полную графическую версию : TTBToolbar, как можно отличать кнопки друг от друга?


Romanka
04-07-2011, 16:51
В классе TTBToolbar, как можно отличать кнопки друг от друга? А то они все с одним Инстансом

madmasles
04-07-2011, 18:09
Romanka,
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <GuiToolbar.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <SendMessage.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <WindowsConstants.au3>

$sTitle = 'AutoIt Help'
Run (http://www.autoitscript.com/autoit3/docs/functions/Run.htm)('hh.exe "' & @ProgramFilesDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@programfilesdir) & '\AutoIt3\AutoIt3.chm"')

$hWin = WinWait (http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm)($sTitle, '', 5)
$hToolbar = ControlGetHandle (http://www.autoitscript.com/autoit3/docs/functions/ControlGetHandle.htm)($hWin, '', '[CLASS:ToolbarWindow32; INSTANCE:1]')
$i_CountTB = _GUICtrlToolbar_ButtonCount (http://dundats.mvps.org/help/html/libfunctions/_guictrltoolbar_buttoncount.htm)($hToolbar)
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 0 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) $i_CountTB - 1
$iID = _GUICtrlToolbar_IndexToCommand (http://dundats.mvps.org/help/html/libfunctions/_guictrltoolbar_indextocommand.htm)($hToolbar, $i)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(64, 'Info', 'Index: ' & $i & ', ID: ' & $iID & @LF (http://www.autoitscript.com/autoit3/docs/macros.htm#@lf) & _GUICtrlToolbar_GetButtonText (http://dundats.mvps.org/help/html/libfunctions/_guictrltoolbar_getbuttontext.htm)($hToolbar, $iID))
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) $i < 2 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
_SendMessage (http://dundats.mvps.org/help/html/libfunctions/_sendmessage.htm)($hToolbar, $WM_COMMAND, $iID, $hToolbar)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)

Romanka
04-07-2011, 18:25
Правильно ли я сделал, что поменял [CLASS:ToolbarWindow32; INSTANCE:1] на [CLASS:TTBToolbar; INSTANCE:1] ? ни так ни так не работает. Ошибки не выводит (

madmasles
04-07-2011, 18:32
Правильно ли я сделал »Не знаю. Мой пример у меня работает. А про Ваше окно я ничего не знаю.

Romanka
04-07-2011, 18:35
Попробовал полностью скопировать скрипт. Справка открылась, а вот месаджбоксы не получил (

madmasles
04-07-2011, 19:13
Попробовал полностью скопировать скрипт. »Специально еще проверил на Windows 7x86, у меня работает и на XPx86, и на 7x86.

Romanka
04-07-2011, 19:29
Может быть имеет значение, что программа установлена инсталлером или портабл? я имею ввиду AutoIt3. попробую вечером с домашнего компьютера




© OSzone.net 2001-2012