Code : Tout sélectionner
#include <File.au3>
#include <GDIPlus.au3>
#include <GIFAnimation.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <SendMessage.au3>
Global $DisplayImage
Const $SC_DRAGMOVE1 = 0xF012
#Region ### START Koda GUI section ### Form=
Global $ViewPic = GUICreate("Form1", 50, 50, 192, 124, $WS_POPUP, $WS_EX_ACCEPTFILES)
GUICtrlCreateGraphic(0, 0, 50, 50)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSetBkColor(-1, 0x0A000)
GUICtrlSetColor(-1, 0)
$pos = WinGetPos($ViewPic)
$posX = $pos[0] + $pos[2] + 10
$posY = $pos[1]
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_PRIMARYDOWN
_SendMessage($ViewPic, $WM_SYSCOMMAND, $SC_DRAGMOVE1, 0)
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_DROPPED
$FichierImage = @GUI_DragFile
_GDIPlus_Startup()
$tImg = _GDIPlus_ImageLoadFromFile($FichierImage)
$Hauteur = _GDIPlus_ImageGetHeight($tImg)
$Largeur = _GDIPlus_ImageGetWidth($tImg)
_GDIPlus_ImageDispose($tImg)
_GDIPlus_Shutdown()
If $Largeur > $Hauteur And $Largeur > 640 Then
$Largeur = 640
$Hauteur = 480
ElseIf $Largeur < $Hauteur And $Hauteur > 640 Then
$Largeur = 480
$Hauteur = 640
EndIf
_PicGui($FichierImage, $Hauteur, $Largeur, $posX, $posY)
EndSwitch
WEnd
Func _PicGui($FichierImage, $Hauteur, $Largeur, $posX, $posY)
Const $SC_DRAGMOVE2 = 0xF012
Local $sDrive, $sDir, $sFileName, $sExtension
_PathSplit(@ScriptFullPath, $sDrive, $sDir, $sFileName, $sExtension)
Global $PicGui = GUICreate($sFileName & $sExtension, $Largeur, $Hauteur, 010, 50, BitOR($WS_POPUPWINDOW, $WS_THICKFRAME), $WS_EX_LAYERED)
$DisplayImage = _GUICtrlCreateGIF($FichierImage, "", 0, 0, $Largeur, $Hauteur)
GUICtrlSetResizing($DisplayImage, $GUI_DOCKBORDERS)
GUISetBkColor(0xABCDEF, $PicGui)
_WinAPI_SetLayeredWindowAttributes($PicGui, 0xABCDEF, 250)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_PRIMARYDOWN
_SendMessage($PicGui, $WM_SYSCOMMAND, $SC_DRAGMOVE2, 0)
Case $GUI_EVENT_CLOSE
GUIDelete($PicGui)
ExitLoop
EndSwitch
WEnd
EndFunc ;==>_PicGui