Что нового

Вкладки. По кнопке переходим на другую вкладку.

Романыч

Новичок
Сообщения
35
Репутация
1
Здраствуйте дорогие друзья. Помогите разобраться, как по кнопке перейти на другую вкладку. Вот простой примерчик:

Код:
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>

Local $tab, $tab0, $tab0OK, $tab0input
Local $tab1, $tab1combo
Local $tab2, $tab2OK, $msg, $Gui

$Gui = GUICreate("Вкладки (Tab) в GUI") ; Создаёт окно в центре экрана

GUISetBkColor(0xDEE1B4)
GUISetFont(9, 300)

$tab = GUICtrlCreateTab(10, 10, 380, 200, $TCS_BUTTONS + $TCS_VERTICAL + $TCS_RIGHT)

$tab0 = GUICtrlCreateTabItem("o")
GUICtrlCreateLabel("Путь", 40, 43, 250, 17)
$tab0OK = GUICtrlCreateButton("OK", 294, 60, 46, 25)  ; <- с помошью этой кнопки перейти на 2 вкладку
$tab0input = GUICtrlCreateInput("C:\WINDOWS\system32", 40, 60, 255, 25)

$tab1 = GUICtrlCreateTabItem("_")
GUICtrlCreateLabel("Имя", 20, 33, 55, 17)
$tab1combo = GUICtrlCreateCombo("", 20, 50, 140)
GUICtrlSetData(-1, "Василий|Константин|Владимир|Андрей|Володя|Евгений|Сергей", "Константин") ; по умолчанию Константин

$tab2 = GUICtrlCreateTabItem("=")
GUICtrlSetState(-1, $GUI_SHOW) ; будет отображаться выбранной
GUICtrlCreateLabel("Описание", 20, 40, 120, 17)
$tab2OK = GUICtrlCreateButton("OK", 280, 165, 70, 30)

GUICtrlCreateTabItem("") ; определяет конец вкладок

GUICtrlCreateLabel('Можно применять иконки, стили оформления' & @CRLF & '$TCS_MULTILINE - вкладки в несколько рядов (вместо горизонтальной прокрутки)' & @CRLF & '$TCS_BUTTONS - вкладки как кнопки' & @CRLF & '$TCS_FLATBUTTONS+$TCS_BUTTONS - утопленные вкладки', 20, 230, 370, 100)

GUISetState()

; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            ExitLoop
        Case $tab
            ; отображает кликнутую вкладку
            WinSetTitle($Gui, "", "Вкладки (Tab) в GUI, текущая " & GUICtrlRead($tab))
    EndSwitch
WEnd


Как с помошью кнопки ок переёти на 2 вкладку например. Спасибо. Может кто даст более лёгкий пример.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.






Добавлено:
Сообщение автоматически объединено:

Романыч,
Можно примерно так.
Код:
#include <GuiTab.au3>
;...
;...
Case $tab0OK
	_GUICtrlTab_ClickTab($tab, 1)
;...
 

AZJIO

Меценат
Меценат
Сообщения
2,878
Репутация
1,194
Романыч
В вашем примере (взятом из справки) есть строка
Код:
GUICtrlSetState(-1, $GUI_SHOW) ; будет отображаться выбранной

В цикле оброса на событие кнопки добавляете выполнение вышеуказанной команды, только вместо "-1" указать идентификатор кнопки.

так
Код:
Case $tab2OK, $tab0OK
			GUICtrlSetState($tab1, $GUI_SHOW) ; активировать вкладку
 
Верх