Что нового

[Элементы GUI] Динамическое обновление картинки внутри GUI

  • Автор темы GenoTIP
  • Дата начала
G

GenoTIP

Гость
Подскажите как добавить подгрузку изображения в GUI с заданной периодичностью, к примеру 2 сек. Картинка должна обновляться внутри GUI средствами её перезакачки в папку скрипта, заранее спасибо.
Код:
#include <IE.au3>
#include <GDIPlus.au3>
#include <GuiConstantsEx.au3>

InetGet("http://j63.forexpf.ru/delta/prochart?type=EURUSD&amount=335&chart_height=355&chart_width=2562&grtype=2&tictype=0&iId=5", "prochart.gif")
;Global $hGUI, $hImage , $hGraphic

; Create GUI
$hGUI = GUICreate("ProFinance", 660, 367)
$iX = GUICtrlCreateInput("X начало", 8, 336, 73, 21)
$iY = GUICtrlCreateInput("Y начало", 88, 336, 73, 21)
$iXEnd = GUICtrlCreateInput("X конец", 168, 336, 73, 21)
$iYEnd = GUICtrlCreateInput("Y конец", 248, 336, 73, 21)
$ButtonNewCoord = GUICtrlCreateButton("Задать", 328, 336, 75, 21)
GUISetState()

; Load PNG image
_GDIPlus_StartUp()


$hImageLoaded   = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\prochart.gif")
$iWidth = _GDIPlus_ImageGetWidth($hImageLoaded)
$iHeight = _GDIPlus_ImageGetHeight($hImageLoaded)
$hImageInGUI = _GDIPlus_BitmapCloneArea($hImageLoaded, $iWidth-661, $iHeight-340, 661, 326); Картинка внутри GUI в которой проходит поиск

; Draw PNG image
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImageInGUI, 0, 0) ;Показать картинку в GUI
_GDIPlus_GraphicsDrawRect($hGraphic ,GUICtrlRead($iX), GUICtrlRead($iY), GUICtrlRead($iXEnd), GUICtrlRead($iYEnd)) ; Рамка вокруг обрасти поиска


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
         Case $GUI_EVENT_CLOSE
            Exit
         Case $ButtonNewCoord ; Обновляем границы поиска на картинке
            $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
            _GDIPlus_GraphicsDrawImage($hGraphic, $hImageInGUI, 0, 0) ;Показать картинку в GUI
            _GDIPlus_GraphicsDrawRect($hGraphic ,GUICtrlRead($iX), GUICtrlRead($iY), GUICtrlRead($iXEnd), GUICtrlRead($iYEnd))

    EndSwitch
WEnd


; Clean up resources
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ShutDown()
 

running-frag

why me?
Сообщения
441
Репутация
60
Код:
; ==============================================================================
; Name...........:  _GUI_setPngToHandle
; Description ...:  Затирает старую картинку, и рисовует там нужны PNG файл.
; Syntax.........:  _GUI_setPngToHandle ($_picHandle, "smile.png")
; Parameters ....:  $_picHandle - handle, GUICtrlCreatePic в котором нужно рисовать PNG файл
; 					$_fileName	- string, имя файля "file.png"
; Return values .: 	None
; ==============================================================================
Func _GUI_setPngToHandle ($_picHandle, $_fileName)
	
						GUICtrlSetImage ($_picHandle, "") 	; затираем старый что б ибежать момент наложения
						_GDIPlus_Startup()					; рисуем новый
    Local $hImage = 	_GDIPlus_ImageLoadFromFile (@ScriptDir &"\"& $_fileName)
    Local $hBitmap = 	_GDIPlus_BitmapCreateHBITMAPFromBitmap ($hImage)
						
						_WinAPI_DeleteObject (GUICtrlSendMsg ($_picHandle, 0x172, $IMAGE_BITMAP, $hBitmap))
						_WinAPI_DeleteObject ($hBitmap)
						_GDIPlus_ImageDispose ($hImage)
						_GDIPlus_Shutdown()
EndFunc


+

Код:
AdlibRegister ()
 
Верх