Что нового

[Окна, Диалоги] Создание интерфейса как в программе Adfender

drkafuck33

Новичок
Сообщения
2
Репутация
0
Доброго времени суток! У меня накопился вопрос который меня долго уже терзает ! Возможно ли в Autoit написать интерфейс как в программе AdFender .
Меня интересует как сделать такое переключение между так называемыми вкладками в окне настроек Adfender . Программу выбрал как пример чтобы показать что я имею ввиду . К сообщение прикреплены скрины окна программы .
 

Вложения

  • Снимок_2015_05_12_08_26_03_877.png
    Снимок_2015_05_12_08_26_03_877.png
    28.6 КБ · Просмотры: 74
  • Снимок_2015_05_12_08_26_08_550.png
    Снимок_2015_05_12_08_26_08_550.png
    31.7 КБ · Просмотры: 47
  • Снимок_2015_05_12_08_26_05_783.png
    Снимок_2015_05_12_08_26_05_783.png
    24.7 КБ · Просмотры: 30

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
drkafuck33 [?]
Возможно ли в Autoit
Возможно.
как сделать такое переключение между так называемыми вкладками в окне
вникнуть в язык, посмотреть примеры в справке и на форуме, и написать.
если не хочется, то перейти в "Стол заказов" и создать тему. Может кто-то заинтересуется и напишет код.
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Стандартное окно настроек.
Панель слева создаешь с помощью GUICtrlCreateList или GUICtrlCreateTreeView.
Панель справа создаешь с помощью... Что-то типа контейнера в справке не нашел, а отображать/скрывать все контролы - много кода!
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Где-то я уже выкладывал этот пример.

Код:
#Include <Constants.au3>
#Include <GUIConstantsEx.au3>
#Include <StaticConstants.au3>
#Include <TabConstants.au3>
#Include <WindowsConstants.au3>

Dim $Pic[5]

GUICreate('MyGUI', 705, 369)
GUISetBkColor(0xFFFFFF)
GUICtrlCreatePic('img_bg.bmp', 0, 0, 705, 369)
GUICtrlSetState(-1, $GUI_DISABLE)

For $i = 0 To 4
	$Pic[$i] = GUICtrlCreatePic(@ScriptDir & '\img_black.bmp', 10, 24 + 50 * $i, 162, 49)
	GUICtrlCreateLabel('Tabsheet' & $i, 21, 40 + 50 * $i, 140, 18, $SS_CENTER)
	GUICtrlSetFont(-1, 11, 400, 0, 'Tahoma')
	GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
	GUICtrlSetcolor(-1, 0xFFFFFF)
Next

$Tab = GUICtrlCreateTab(172 + 4, 10 + 4, 523 - 8, 349 - 8)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateTabItem('Tabsheet0')
GUICtrlCreateEdit('', 190, 28, 487, 313)
GUICtrlCreateTabItem('Tabsheet1')
GUICtrlCreateButton('OK', 398, 319, 70, 23)
GUICtrlCreateTabItem('Tabsheet2')
GUICtrlCreateTabItem('Tabsheet3')
GUICtrlCreateTabItem('Tabsheet4')
GUICtrlCreateTabItem('')

GUISetState()

$Item = -1

While 1
	$Msg = GUIGetMsg()
	If $Item = -1 Then
		$Msg = $Pic[0]
		$Item = 1
	EndIf
	Switch $Msg
		Case 0
			ContinueLoop
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Pic[0] To $Pic[UBound($Pic) - 1]
			If $Msg <> $Pic[$Item] Then
				GUICtrlSetImage($Pic[$Item], @ScriptDir & '\img_black.bmp')
				GUICtrlSetcolor($Pic[$Item] + 1, 0xFFFFFF)
				GUICtrlSetImage($Msg, @ScriptDir & '\img_white.bmp')
				GUICtrlSetcolor($Msg + 1, 0x313A42)
				For $i = 0 To UBound($Pic) - 1
					If ($Msg = $Pic[$i]) Or ($Msg = $Pic[$i] + 1) Then
						$Item = $i
						ExitLoop
					EndIf
				Next
				GUICtrlSendMsg($Tab, $TCM_SETCURFOCUS, $Item, 0)
			EndIf
	EndSwitch
WEnd


post_img_101.png

Tab.zip
 
Автор
D

drkafuck33

Новичок
Сообщения
2
Репутация
0
Спасибо всем за помощь !!
Yashied ваш пример именно то что я хотел увидеть !! Спасибо ,тема решена!
 
Верх