Дальнейшая модернизация смотрелки png.Мне кажется,что на моём компьютере происходят чудеса,так как это программа отрабатывает только один раз и потом перестает функционировать.Скорее всего,это я придурок.
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>
#include <WinAPISysWin.au3>
local $filename =""
Local $hGUI = GUICreate("Example", 500,500)
GUISetBkColor(0xffffff)
Local $idButton = GUICtrlCreateButton("Показать рисунок", 210, 470, 100, 25)
Local $idButton2 = GUICtrlCreateButton("Очистить холст", 310, 470, 100, 25)
GUICtrlSetBkColor($hGUI,0xffffffff)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton
Local $filename = FileOpenDialog("Файл png",@Scriptdir, "All (*.png*)", $FD_FILEMUSTEXIST)
_GDIPlus_Startup()
Local $hImage = _GDIPlus_ImageLoadFromFile($filename)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_GDIPlus_Shutdown()
Case $idButton2
_GDIPlus_Startup()
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsClear($hGraphic,0xffffffff)
_GDIPlus_Shutdown()
$idButton = GUICtrlCreateButton("Показать рисунок", 210, 470, 100, 25)
$idButton2 = GUICtrlCreateButton("Очистить холст", 310, 470, 100, 25)
EndSwitch
WEnd
Оказывается нужно было использовать функции перерисовки окна.
#include <GUIConstantsEx.au3>
#include <GDIPlus.au3>
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
local $filename =""
Local $hGUI = GUICreate("Example", 500,500)
GUISetBkColor(0xffffff)
Local $idButton = GUICtrlCreateButton("Показать рисунок", 210, 470, 100, 25)
Local $idButton2 = GUICtrlCreateButton("Очистить холст", 310, 470, 100, 25)
GUICtrlSetBkColor($hGUI,0xffffffff)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton
Local $filename = FileOpenDialog("Файл png",@Scriptdir, "All (*.png*)", $FD_FILEMUSTEXIST)
_GDIPlus_Startup()
Local $hImage = _GDIPlus_ImageLoadFromFile($filename)
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_GDIPlus_Shutdown()
Case $idButton2
_GDIPlus_Startup()
Local $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
_GDIPlus_GraphicsClear($hGraphic,0xffffffff)
_GDIPlus_Shutdown()
_WinAPI_RedrawWindow($hGUI)
EndSwitch
WEnd
|