Компьютерный форум 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=171767)

Не флужу 31-03-2010 11:15 1381378

Как вставить картинку в интерфейс программы?
 
Здравствуйте. Не получается вставить картинку в созданный GUI.
Код:

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

Global $gui, $guiPos, $pic, $picPos

Example1()

Func Example1()
    Local $n, $msg

    GUICreate("My GUI picture", 350, 300, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)  ; will create a dialog box that when displayed is centered

    GUISetBkColor(0xE0FFFF)
    $n = GUICtrlCreatePic("C:\Users\Administrator\Desktop\sms.png", 50, 50, 200, 50)

    GUISetState()

    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd


    ; resize the control
    $n = GUICtrlSetPos($n, 50, 50, 200, 100)
    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

    GUIDelete()
EndFunc

Код скопировал из справки Autoit. Картинка не появляется на экране. Та - же история с
Код:

GUICtrlSetImage ( controlID, filename [, iconname [, icontype]] )
, когда хотел вставить свою картинку - кнопку.

Выручайти :)

Medic84 31-03-2010 11:31 1381392

AutoIt не показывает png файлы без специальной библиотеки. Тем более если файл имеет прозрачность.

Не флужу 31-03-2010 11:43 1381402

пробовал .jpg - не работает. Как можно вставить закруглённую картинку для кнопки без прозрачности?

Medic84 31-03-2010 12:00 1381408

Для кнопки помоему можно установить только иконку...

Не флужу 31-03-2010 12:12 1381416

хорошо, для кнопки справка предлагает :
Код:

#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $msg
   
    GUICreate("My GUI")  ; will create a dialog box that when displayed is centered

    GUICtrlCreateButton("my picture button", 10, 20, 40, 40, $BS_ICON)
    GUICtrlSetImage(-1, "shell32.dll", 22)
   
    GUISetState()

    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()
       
        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
EndFunc  ;==>Example

Имя картинки - .dll файл. Как использовать картинку из определённой директории? Поддерживаются картинки только .jpg .bmp .gif расширения? Хочу вставить картинку в интерфейс и картинку - кнопку, но ничего не получается :)

А ещё, было - бы не плохо сменить картинку "AutoIt" В вехнем левом углу интерфейса(рядом с названием окна)

Не флужу 31-03-2010 17:29 1381699

С кнопкой решено. Просто нужно использовать картинку с .ico расширением

Medic84 31-03-2010 20:34 1381847

Цитата:

Цитата Не флужу
А ещё, было - бы не плохо сменить картинку "AutoIt" В вехнем левом углу интерфейса(рядом с названием окна) »

Ищите AutoItWrapper GUI

Yashied 31-03-2010 20:44 1381850

Код:

#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <GuiImageList.au3>

Opt("MustDeclareVars", 1)

_Main()

Func _Main()
    Local $sBMPNormal = @WindowsDir & "\pchealth\helpctr\System\images\24x24\arrow_green_normal.bmp"
    Local $sBMPHot = @WindowsDir & "\pchealth\helpctr\System\images\24x24\arrow_green_mouseover.bmp"
    Local $sBMPPress = @WindowsDir & "\pchealth\helpctr\System\images\24x24\arrow_green_mousedown.bmp"
    Local $sBMPImage = @WindowsDir & "\pchealth\helpctr\System\blurbs\watermark_300x.bmp"
    Local $btn1, $btn2, $btn3, $btn4, $msg
    Local $hImagebtn1, $hImagebtn2, $hImagebtn3 ,$hImagebtn4

    ;Caveat: Minimum Operating Systems: Windows XP.

    ;Image list with multiple images will only show the images
    ;other than the 1st image when Themes are used.

    Local $hGUI = GUICreate("Button Imagelists - Minimum OS: Windows XP",400,300)

    GUICtrlCreatePic(@WindowsDir & "\Web\Wallpaper\Windows XP.jpg", 0, 0, 400, 300)
    GUICtrlSetState(-1, $GUI_DISABLE)

    ;multi state image Bitmap
    $btn1 = GUICtrlCreateButton("This Way", 30, 30, 90, 32)
    GUICtrlSetTip(-1, "Multi state bitmap imagelist")
    $hImagebtn1 = _GUIImageList_Create(24, 24, 5, 5)
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);1 - Normal
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPHot)  ;2 - Hot
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress) ;3 - Pressed
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPPress) ;4 - Disabled
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);5 - Defaulted
    _GUIImageList_AddBitmap($hImagebtn1, $sBMPNormal);6 - Stylus Hot (tablet computers only)
    _GUICtrlButton_SetImageList($btn1, $hImagebtn1)

    ;single state image Bitmap
    $btn2 = GUICtrlCreateButton("This Way", 30, 70, 90, 32)
    GUICtrlSetTip(-1, "Single bitmap imagelist")
    $hImagebtn2 = _GUIImageList_Create(24, 24, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn2, $sBMPNormal);1 - Normal
    _GUICtrlButton_SetImageList($btn2, $hImagebtn2)

    ;single state image Icon
    $btn3 = GUICtrlCreateButton("Unlock", 30, 110, 90, 40)
    GUICtrlSetTip(-1, "Single icon imagelist")
    $hImagebtn3 = _GUIImageList_Create(32, 32, 5, 3)
    _GUIImageList_AddIcon($hImagebtn3, "shell32.dll", 47, True)
    _GUICtrlButton_SetImageList($btn3, $hImagebtn3)

    ;single state image Bitmap with overlayed text
    $btn4 = GUICtrlCreateButton("Help", 30, 160, 90, 90)
    GUICtrlSetTip(-1, "Single bitmap imagelist with overlayed text")
    GUICtrlSetFont(-1, 14, 800, -1, "Comic Sans MS")
    $hImagebtn4 = _GUIImageList_Create(80, 80, 5, 3)
    _GUIImageList_AddBitmap($hImagebtn4, $sBMPImage)
    _GUICtrlButton_SetImageList($btn4, $hImagebtn4, 4)

    GUISetState()

    While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $GUI_EVENT_CLOSE
                Exit
            Case $btn1
            Case $btn2
                GUICtrlSetState($btn1, $GUI_DISABLE)
            Case $btn3
                GUICtrlSetState($btn1, $GUI_ENABLE)
            Case $btn4
        EndSwitch
    WEnd
EndFunc  ;==>_Main


JaguarSP 21-04-2010 17:05 1397821

эм... по моему можно просто сделать например так...
если в GUI окно то:
GUICtrlCreatePic ( @ScriptDir & '\картинка.BMP', 0, 0 ,400 ,400 ) ;если будет bmp то проблем должно быть
а если на кнопку то не обязательно .ico можно и bmp:
Код:

$Button = GUICtrlCreateButton(" ", Left, Top, Width_Button, Height_Button, $BS_BITMAP)
GUICtrlSetImage($Button, @ScriptDir & '\knopka.bmp')

или я не прав? или что-то не так понял?


Время: 08:34.

Время: 08:34.
© OSzone.net 2001-