Что нового

[Элементы GUI] Не стираемая разделительная линия

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Здравствуйте, помогите со скриптом который смог бы "нарисовать" разделительную линию, которая не стиралась при перемещении окна. Или существует ли подобный элемент в AutoIt?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Пример:

Код:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>

$Gui = GuiCreate("Splitter Bar", 200, 70)

$Menu = GUICtrlCreateMenu("Menu")
GUICtrlCreateMenuItem("Item", $Menu)

_GUICtrlCreateSeparator(3, 5, 195, -1, $SS_ETCHEDHORZ)

$Left = 7
$IconsArr = StringSplit("13|23|25|169|28", "|")

For $i = 1 To $IconsArr[0]
	$ControlID = GUICtrlCreateButton("", $Left, 10, 24, 24, $BS_ICON)
	GUICtrlSetImage(-1, "shell32.dll", $IconsArr[$i], 0)
	If $i < $IconsArr[0] Then _GUICtrlCreateSeparator($Left + 30, 10, 25, -1, $SS_ETCHEDVERT)
	$Left += 40
Next

_GUICtrlCreateSeparator(3, 40, 195, -1, $SS_ETCHEDHORZ)

GUISetState()

While 1
	$Msg = GUIGetMsg()
	Switch $Msg
		Case $GUI_EVENT_CLOSE, $ControlID
			Exit
	EndSwitch
WEnd

Func _GUICtrlCreateSeparator($iLeft, $iTop, $iLenght, $iWidth = -1, $nStyle = $SS_ETCHEDHORZ)
	Local $nSetStyle = $nStyle, $iTmpSwap
	
	If $iWidth > 0 Then
		$nSetStyle = $SS_SUNKEN
	EndIf
	
	Switch $nStyle
		Case $SS_ETCHEDHORZ
			$iTmpSwap = $iWidth
			$iWidth = $iLenght
			$iLenght = $iTmpSwap
		Case $SS_ETCHEDVERT
			If $nSetStyle <> $SS_SUNKEN Then
				$iWidth = -1
			EndIf
		Case Else
			If $nSetStyle <> $SS_SUNKEN Then
				Return SetError(1, 0, 0)
			EndIf
	EndSwitch
	
	If $iLenght = -1 Then
		$iLenght = 1
	EndIf
	
	If $iWidth = -1 Then
		$iWidth = 1
	EndIf
	
	Return GUICtrlCreateLabel("", $iLeft, $iTop, $iWidth, $iLenght, $nSetStyle)
EndFunc
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Спасибо, я вот тоже хотел сначала через Label но без стилей, с помощью знака "|" и "-" :smile:
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
MnM
А когда пример в справке нажимаешь, разве не видишь возможностей? Там все стили воспроизведены, специально чтобы с первого раза знать все доступные возможности. Так сделано во всех примерах, особенно в разделе GUI.
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Да я когда что то делаю свое, из головы абсолютно все вылетает ;D
 
Верх