- Сообщения
- 5,379
- Репутация
- 2,724
AutoIt: 3.3.6.1
Версия: 0.2
Категория: Элементы GUI
Описание: Skin UDF позволяет создавать элементы Button из заранее поготовленных изображений (файлы, ресурсы и т.д.). Я переписал библиотеку с помощью GDI+ (первая версия использовала GDI). Это позволило добавить много дополнительных возможностей и избавиться от проблем, связанных с прозрачностью. Тем не менее, библиотека имеет статус бета-версии, поэтому нет подробного описания функций. Но я уверен, что представленный ниже пример дает полное представление о возможностях этой библиотеки. Я надеюсь, что многие пользователи найдут для себя это полезным. Если возникнут какие-либо вопросы касательно UDF, то пожалуйста спрашивайте в этой теме.
Список функций:
Файл(ы): Skin.zip
Пример:
Скриншот:
Источник: Skin UDF (официальный форум)
Автор: Yashied
Версия: 0.2
Категория: Элементы GUI
Описание: Skin UDF позволяет создавать элементы Button из заранее поготовленных изображений (файлы, ресурсы и т.д.). Я переписал библиотеку с помощью GDI+ (первая версия использовала GDI). Это позволило добавить много дополнительных возможностей и избавиться от проблем, связанных с прозрачностью. Тем не менее, библиотека имеет статус бета-версии, поэтому нет подробного описания функций. Но я уверен, что представленный ниже пример дает полное представление о возможностях этой библиотеки. Я надеюсь, что многие пользователи найдут для себя это полезным. Если возникнут какие-либо вопросы касательно UDF, то пожалуйста спрашивайте в этой теме.
Список функций:
_Skin_AddButton
_Skin_AddButtonEx
_Skin_DeleteButton
_Skin_Destroy
_Skin_DisableButton
_Skin_EnableFocus
_Skin_EnableKBInput
_Skin_Helper
_Skin_SetButton
_Skin_SetButtonEx
_Skin_SetFocusRect
Файл(ы): Skin.zip
Пример:
Код:
#Include <GUIConstantsEx.au3>
#Include <Skin.au3>
Global $Button[3]
$hForm = GUICreate('MyGUI', 278, 106)
GUICtrlCreatePic('background.bmp', 0, 0, 278, 106)
GUICtrlSetState(-1, $GUI_DISABLE)
; Create buttons from PNG images (images should be located in the same folder as the script)
$Button[0] = _Skin_AddButton(20 , 20, 66, 66, 'red_normal.png', 'red_hover.png', 'red_click.png', 'disable.png', 'alpha.png', 1)
$Button[1] = _Skin_AddButton(106, 20, 66, 66, 'yellow_normal.png', 'yellow_hover.png', 'yellow_click.png', 'disable.png', 'alpha.png', 1)
$Button[2] = _Skin_AddButton(192, 20, 66, 66, 'green_normal.png', 'green_hover.png', 'green_click.png', 'disable.png', 'alpha.png', 1)
#cs
; Create buttons from GDI+ HBITMAP handles
$Button[0] = _Skin_AddButtonEx(20 , 20, 64, 64, _GDIPlus_BitmapCreateFromFile('red_normal.png'), ..., 1, 1)
$Button[1] = _Skin_AddButtonEx(104, 20, 64, 64, _GDIPlus_BitmapCreateFromFile('yellow_normal.png'), ..., 1, 1)
$Button[2] = _Skin_AddButtonEx(188, 20, 64, 64, _GDIPlus_BitmapCreateFromFile('green_normal.png'), ..., 1, 1)
#ce
; Disable "Yellow" button (Optional)
_Skin_DisableButton($Button[1], 1)
; Enable keyboard input (Optional)
_Skin_EnableKBInput(1)
; Set margins for dotted focus rectangle (Optional)
For $i = 0 To 2
_Skin_SetFocusRect($Button[$i], 5, 5, 56, 56)
Next
; Enable dotted focus rectangle (Optional)
_Skin_EnableFocus(1)
GUISetState()
; _Skin_Helper() must be called continuously in the main loop
While 1
_Skin_Helper($hForm)
$ID = GUIGetMsg()
Switch $ID
Case 0
ContinueLoop
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button[0]
ConsoleWrite('Red' & @CR)
Case $Button[1]
ConsoleWrite('Yellow' & @CR)
Case $Button[2]
ConsoleWrite('Green' & @CR)
Case Else
EndSwitch
WEnd
; You must delete all created buttons before destroying the appropriate window
;~For $i = 0 To 2
;~ _Skin_DeleteButton($Button[$i])
;~Next
Скриншот:
Источник: Skin UDF (официальный форум)
Автор: Yashied