Функция _GUICtrlButton_Create

#include _GUICtrlButton_Create ($hWnd, $sText, $iX, $iY, $iWidth, $iHeight [, $iStyle = - 1 [, $iExStyle = - 1 ]])

$hWndМанипулатор на родителски прозорец или прозорец на собственик
$sТекстТекст на бутона
$ixКоордината на левия край
$iYКоордината на горния край
$iWidthШирина на бутона
$iHeightВисочина на бутона
$iStyle[по избор]Стил на елемента: $BS_AUTO3STATE – Създава квадратче за отметка с три състояния, в което състоянието се превключва на квадратче за отметка, квадратче за отметка и без отметка при всяко щракване. $BS_AUTOCHECKBOX – Създава поле за отметка с две състояния, в което състоянието се превключва между „отметнато“ и „неотметнато“ при всяко щракване. $BS_AUTORADIOBUTTON - Подобно на радио бутон, с изключение на това, че когато потребителят го избере, бутонът автоматично се осветява и премахва осветяването от всеки друг радио бутон със същия стил в същата група. $BS_FLAT - Плосък бутон (2D изглед); не използва стандартни сенки по контура, които създават триизмерен 3D вид. $BS_GROUPBOX - Създава правоъгълен контур, в който са групирани други бутони. Всеки текст, свързан с този стил, се показва в горния ляв ъгъл на правоъгълника. $BS_PUSHLIKE - Прави го да изглежда като бутон за неща като квадратче за отметка, квадратче за отметка с три статуса или бутон за избор. Бутонът изглежда повдигнат, когато не е отметнат, и хлътнал, когато е отметнат.
$BS_DEFPUSHBUTTON - Създава бутон с удебелен черен контур. Ако бутонът е в диалогов прозорец, потребителят може да избере бутона, като натисне клавиша ENTER, дори ако бутонът няма фокус за въвеждане. Този стил е полезенвъзможността потребителят бързо да избере най-вероятната опция или опцията по подразбиране.
$BS_BOTTOM - Поставя текст в долната част на правоъгълника на бутона. $BS_CENTER - Поставя текста хоризонтално центриран в правоъгълника на бутона. $BS_LEFT - Подравнете текста вляво върху бутон (Бутон) или поле за отметка. $BS_MULTILINE - Многоредов текст на бутона, ако текстът е твърде дълъг, за да се побере върху бутона на един ред. $BS_RIGHT - Подравнява надясно текст върху бутон или поле за отметка. $BS_RIGHTBUTTON - Позицията на квадратчето за отметка вдясно. $BS_TOP - Поставя текст в горната част на правоъгълника на бутона. $BS_VCENTER - Поставя текста вертикално центриран в правоъгълника на бутона.
$BS_ICON - Показва, че бутонът показва икона. $BS_BITMAP - Указва, че бутонът показва растерна графика.
$BS_NOTIFY - Позволява на бутона да изпраща $BN_KILLFOCUS и $BN_SETFOCUS известия до родителския прозорец. Имайте предвид, че бутоните изпращат $BN_CLICKED известия независимо от този стил. За да получите известие за двойно щракване - $BN_DBLCLK, бутоните трябва да бъдат оформени $BS_RADIOBUTTON или $BS_OWNERDRAW.
Стилове на Vista: $BS_SPLITBUTTON - Създава бутон за разделяне. Бутонът за разделяне има стрелка за падащо меню. $BS_DEFSPLITBUTTON - Създава разделен бутон, който се държи като бутон със стил $BS_PUSHBUTTON, но също така има отличителен външен вид. $BS_COMMANDLINK - Създава бутон за командна връзка $BS_DEFCOMMANDLINK - Създава бутон за командна връзка, който се държи като бутон в стил $BS_PUSHBUTTON.
По подразбиране: (-1): няма Принудително: $WS_CHILD, $WS_TABSTOP, $WS_VISIBLE, $BS_NOTIFY
$iExStyle[по избор]Разширеният стил на елемента. Съответства на стандартните $WS_EX_ константи.

Успех:Връща манипулатора на бутона
грешка:Връща 0

Горните константи изискват ButtonConstants.au3

Тази функция е предназначена за напреднали потребители и за научаване как работи елементът.

Глобални $btn, $rdo, $chk, $iMemo

$hGUI = GUICreate ( "Бутон за създаване", 400, 400) $iMemo = GUICtrlCreateEdit ( "", 119, 10, 276, 374, $WS_VSCROLL) GUICtrlSetFont ( $iMemo, 9, 400, 0, "Courier New ")

$btn = _GUICtrlButton_Create ($hGUI, "Button1", 10, 10, 90, 50)

$rdo = _GUICtrlButton_Create ($hGUI, "Radio1", 10, 80, 90, 50, $BS_AUTORADIOBUTTON)

$chk = _GUICtrlButton_Create ($hGUI, "Check1", 10, 130, 90, 50, $BS_AUTO3STATE)

GUIRegisterMsg ( $WM_COMMAND , "WM_COMMAND" ) GUIRegisterMsg ( $WM_NOTIFY , "WM_NOTIFY" )

MemoWrite ( "Button1 Handle: " & $btn ) MemoWrite ( "Radio1 Handle: " & $rdo ) MemoWrite ( "Check1 Handle: " & $chk & @CRLF )

; Записва низ в елемента memo Func MemoWrite ( $sMessage ) GUICtrlSetData ( $iMemo , $sMessage & @CRLF , 1 ) EndFunc ;==>MemoWrite

Func WM_NOTIFY ($hWnd, $Msg, $wParam, $lParam) #forceref $hWnd, $Msg, $wParam Локална конст. $BCN_HOTITEMCHANGE = - 1249 Локална $tNMBHOTITEM = DllStructCreate ( "hwnd hWndFrom;int IDFrom;int Code;dword dwF закъснения" , $lParam ) Локален $nNotifyCode = DllStructGetData ( $tNMBHOTITEM , "Код" ) Локален $nID = DllStructGetData ( $tNMBHOTITEM , "IDFrom" ) Локален $hCtrl = DllStructGetData ($tNMBHOTITEM , "hWndFrom" ) Локално $dwFlags = DllStructGetData ( $tNMBHOTITEM , "dwFlags") Локално $sText = ""

Превключете $nNotifyCode Case $BCN_HOTITEMCHANGE ; Win XP и по-горе If BitAND ( $dwFlags , 0x10 ) = 0x10 Then $sText = "$BCN_HOTITEMCHANGE - Наведено: " & @CRLF

; Реакция на натискане на бутони Func WM_COMMAND ( $hWnd , $Msg , $wParam , $lParam ) #forceref $hWnd, $Msg Локален $nNotifyCode = BitShift ( $wParam , 16 ) Локален $nID = BitAND ( $wParam , 0x0000FFFF ) Локален $ hCtrl = $lParam Локален $sText = ""

Превключете $hCtrl Case $btn , $rdo , $chk Switch $nNotifyCode Case $BN_CLICKED $sText = "$BN_CLICKED" Case $BN_PAINT $sText = "$BN_PAINT" Case $BN_PUSHED , $BN_HILITE $sT ext = "$BN_PUSHED, $BN_HILITE" Случай $BN_UNPUSHED , $BN_UNHILITE $sText = "$BN_UNPUSHED" Случай $BN_DISABLE $sText = "$BN_DISABLE" Случай $BN_DBLCLK , $BN_DOUBLECLICKED $sText = "$BN_DBLCLK, $BN_DOUBLECLICKED" Случай $BN_SETFOCUS $sText = "$BN_SETFOCUS" Случай $BN_KILLFOCUS $sText = "$BN_KILLFOCUS" EndSwitch MemoWrite ( _ "-----------------------------" & ; @CRLF & _ "WM_COMMAND - информация:" & @CRLF & _ "----------------------------------" & @CRLF & _ "Код уведомления" & @TAB & $nNotifyCode & ', ' & $sText & @CRLF & _ "Идентификатор.." & @TAB & $nID & @CRLF & _ "Дескриптор . " & @TAB & $hCtrl & @CRLF & _ "Текст бутони .." & @TAB & _GUICtrlButton_GetText ( $hCtrl ) & @CRLF ) Върни 0 ; Само за теста нажатия бутони EndSwitch ; Продължение на обработчика на вътрешната команда AutoIt3. ; Можете също да завършите, използвайки ред с изход от функциите. ; . Но само'Връщане' (без стойност) без продължение ; манипулатор за вътрешни AutoIt3 команди в бъдеще. Връщане на $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND