Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Можно ли иконку в кнопке установить не в центре а с краю (http://forum.oszone.net/showthread.php?t=181018)

assch 20-07-2010 17:24 1456788

Можно ли иконку в кнопке установить не в центре а с краю
 
Обычным способом иконка в кнопку устанавливается в центре
А можно ли иконку в кнопке установить с краю кнопки скажем перед названием

assch 20-07-2010 19:01 1456866

Извиняюсь этот пример был в теме "Как раздвинуть окно"

Creat0R 20-07-2010 23:39 1457093

Цитата:

Цитата assch
этот пример был в теме "Как раздвинуть окно" »

Если в этой теме нет решения, то кому она будет полезна, да ещё и с пометкой [решено]?

Вот решение:

Код:

#include <GUIConstantsEx.au3>
#include <GUIButton.au3>
#include <GUIImageList.au3>

Global $hImageList = _GUIImageList_Create(16, 16, 5, 1)

$hGUI = GUICreate("_GUICtrlButton_SetImageEx Example", 350, 200)

$nButton = GUICtrlCreateButton("Ok", 20, 170, 80, 22, $BS_ICON)
_GUICtrlButton_SetImageEx($hImageList, $nButton, @SystemDir & "\rasdlg.dll", 1)

GUISetState()

While 1
    $Msg = GUIGetMsg()

    Switch $Msg
        Case $GUI_EVENT_CLOSE
            _GUIImageList_Destroy($hImageList)
            Exit
        Case $nButton
            If GUICtrlRead($nButton) = "Ok" Then
                GUICtrlSetData($nButton, "Cancel")
                _GUICtrlButton_SetImageEx($hImageList, $nButton, @SystemDir & "\rasdlg.dll", 0)
            Else
                GUICtrlSetData($nButton, "Ok")
                _GUICtrlButton_SetImageEx($hImageList, $nButton, @SystemDir & "\rasdlg.dll", 1)
            EndIf

            _WinAPI_RedrawWindow($hGUI)
    EndSwitch
WEnd

Func _GUICtrlButton_SetImageEx($hImageList, $nCtrl, $sIconFile, $nIconID=0, $nAlign=-1)
    If _GUIImageList_GetImageCount($hImageList) > 0 Then
        $tIcon = DllStructCreate("int Icon")
        _WinAPI_ExtractIconEx($sIconFile, $nIconID, 0, DllStructGetPtr($tIcon), 1)
        $hIcon = DllStructGetData($tIcon, "Icon")
        _GUIImageList_ReplaceIcon($hImageList, 0, $hIcon)
        _WinAPI_DestroyIcon($hIcon)
    Else
        _GUIImageList_AddIcon($hImageList, $sIconFile, $nIconID)
    EndIf

    Return _GUICtrlButton_SetImageList($nCtrl, $hImageList, $nAlign)
EndFunc



Время: 12:00.

Время: 12:00.
© OSzone.net 2001-