radioamator16
Новичок
- Сообщения
- 39
- Репутация
- 0
Здравствуйте.
Нашел на форуме код добавления png-картинки на окно GUI.
Как разместить так же - пнг-картинку на окно GUI, но чтобы пнг-картинка выходила за пределы окна на 20 пикселей (со всех сторон - сверху,снизу,справа,слева) ?
То есть картинка должна быть большего размера, чем само окно.
Можно такое сделать, или в autoit - в GUI можно что-то разместить лишь внутри окна ?
Нашел на форуме код добавления png-картинки на окно GUI.
Код:
#include <GDIPlus.au3>
#include <WinAPIEx.au3>
#include <GUIConstants.au3>
$hGUI = GUICreate("PET", 0, 0, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOOLWINDOW, $GUI_WS_EX_PARENTDRAG))
;GUISetBkColor(50)
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\1.png")
$Width = _GDIPlus_ImageGetWidth($hImage)
$Height = _GDIPlus_ImageGetHeight($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
_Middle($hGUI, $Width, $Height)
$Pic = GUICtrlCreatePic("", 0, 0, $Width, $Height, -1, $GUI_WS_EX_PARENTDRAG)
_SetPNGIntoPicControl($Pic, @ScriptDir & "\1.png")
;$hLab_1 = GUICtrlCreateLabel("Text 1", 55, 20, 50, 20)
;$hLab_2 = GUICtrlCreateLabel("Text 2", 55, 53, 50, 20)
;$hLab_3 = GUICtrlCreateLabel("Text 3", 55, 86, 50, 20)
;$hLab_4 = GUICtrlCreateLabel("15.59 - 19/01/2014", 15, 110, 100, 20)
;GUICtrlSetFont($hLab_1, 10, 600, 0, "Tahoma")
;GUICtrlSetColor($hLab_1, 0xE1E100)
;GUICtrlSetBkColor($hLab_1, -2)
;GUICtrlSetFont($hLab_2, 10, 600, 0, "Tahoma")
;GUICtrlSetColor($hLab_2, 0xE1E100)
;GUICtrlSetBkColor($hLab_2, -2)
;GUICtrlSetFont($hLab_3, 10, 600, 0, "Tahoma")
;GUICtrlSetColor($hLab_3, 0xE1E100)
;GUICtrlSetBkColor($hLab_3, -2)
;GUICtrlSetFont($hLab_4, 7, 600, 0, "Tahoma")
;GUICtrlSetColor($hLab_4, 0xFFFFFF)
;GUICtrlSetBkColor($hLab_4, -2)
_WinAPI_SetLayeredWindowAttributes($hGUI, 50, 255)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
WEnd
Func _Middle($win, $wd, $ht)
Local $y = (@DesktopHeight / 2) - ($ht / 2)
Local $x = (@DesktopWidth / 2) - ($wd / 2)
WinMove($win, '', $x, $y, $wd, $ht)
EndFunc ;==>_Middle
Func _SetPNGIntoPicControl($iPic, $sPNGFile)
_GDIPlus_Startup()
Local $hImage = _GDIPlus_ImageLoadFromFile($sPNGFile)
Local $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
_WinAPI_DeleteObject(GUICtrlSendMsg($iPic, 0x172, 0, $hBitmap))
_WinAPI_DeleteObject($hBitmap)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
EndFunc ;==>_SetPNGIntoPicControl
Как разместить так же - пнг-картинку на окно GUI, но чтобы пнг-картинка выходила за пределы окна на 20 пикселей (со всех сторон - сверху,снизу,справа,слева) ?
То есть картинка должна быть большего размера, чем само окно.
Можно такое сделать, или в autoit - в GUI можно что-то разместить лишь внутри окна ?