huhu,
durch GUICtrlCreatePic() würde ich gerne ein Bild in die Gui einfügen. Leider wird das Bild nicht in der Gui angezeigt.
Vlt. habe ich einen flüchtigen Syntaxfehler übersehen.
Die problematische Zeile ist folgende:
[autoit]
$Pic = GUICtrlCreatePic(IniRead(@ScriptDir & "\file.ini", "File", "path", "0"), 0, 0, $width, $height)
Ich habe es auch schon probiert den Pfad, der aus der ini gelesen wird, in eine seperate Variable $path zu übergeben, um damit einen Erfolg zu erzielen.
Der Pfad ist korrekt. Er wird von einer anderen Anwendung per FileOpenDialog() gespeichert, sodass die Zieldatei exisitiert.
Das komplette kleine Skript:
Spoiler anzeigen
#include <GUIConstants.au3>
#include <GDIPlus.au3>
Global $path
[/autoit] [autoit][/autoit] [autoit]while Not FileExists(@ScriptDir & "\file.ini")
Sleep(100)
WEnd
_GDIPlus_Startup()
$width=_GDIPlus_ImageGetWidth(_GDIPlus_ImageLoadFromFile(IniRead(@ScriptDir & "\file.ini", "File", "path", "0")))
$height=_GDIPlus_ImageGetHeight(_GDIPlus_ImageLoadFromFile(IniRead(@ScriptDir & "\file.ini", "File", "path", "0")))
_GDIPlus_Shutdown()
If @DesktopHeight < $height Then
$width = @DesktopHeight/$height*$width
$height = @DesktopHeight
EndIf
If @DesktopWidth < $width Then
$height = @DesktopWidth/$width*$height
$width = @DesktopWidth
EndIf
$Gui = GUICreate("File", $width, $height)
$Pic = GUICtrlCreatePic(IniRead(@ScriptDir & "\file.ini", "File", "path", "0"), 0, 0, $width, $height)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd