[R] Erreur GDI -> GUI

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
Duke49
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 sept. 2008 00:11
Status : Hors ligne

[R] Erreur GDI -> GUI

#1

Message par Duke49 »

Salut à tous, j'arrive a faire planter AutoIt et je sais pas pourquoi !?
Je veux juste afficher une image sur mon Gui.

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#Include <GDIPlus.au3>

_Main()

Func _Main()

    Local $hGui, $GUIWidth = 300, $GUIHeight = 250
    Local $Edit_1, $OK_Btn, $Cancel_Btn, $msg

    $hGui = GUICreate("New GUI", $GUIWidth, $GUIHeight)

    $OK_Btn = GUICtrlCreateButton("OK", 75, 210, 70, 25)
    $Cancel_Btn = GUICtrlCreateButton("Cancel", 165, 210, 70, 25)

    GUISetState(@SW_SHOW)

    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                GUIDelete()
                Exit
            Case $msg = $OK_Btn
                MsgBox(64, "New GUI", "You clicked on the OK button!")
                StartGDI($hGui)             
            Case $msg = $Cancel_Btn
                MsgBox(64, "New GUI", "You clicked on the Cancel button!")
        EndSelect
    WEnd
EndFunc   ;==>_Main

Func StartGDI(ByRef $hGui)
    $Img = "C:\Users\PC_DEUX\Pictures\Duke49.jpg"

    _GDIPlus_Startup ()
    $hImg = _GDIPlus_ImageLoadFromFile ($Img)
    $H = _GDIPlus_ImageGetHeight($hImg)
    $L = _GDIPlus_ImageGetWidth($hImg)
       
    MsgBox(0,"Taille Image",$H & "x" & $L)

    _GDIPlus_GraphicsDrawImage($hGui,$hImg,10,10)        
    _GDIPlus_BitmapDispose($hImg)       
    _GDIPlus_ShutDown ()
    return 0
EndFunc ;==> StartGDI
Modifié en dernier par Tlem le mar. 23 sept. 2008 21:23, modifié 3 fois.
Raison : Ajout de la balise [..]
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Erreur GDI -> GUI

#2

Message par sylvanie »

Je pense que c'est du au fait que tu travaille directement sur le handle de la fenêtre retourné par guicreate et non le handle propre à windows.
Après il manque juste la création d'un handle graphique sur ce dernier, cf :
► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Duke49
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 sept. 2008 00:11
Status : Hors ligne

Re: [..] Erreur GDI -> GUI

#3

Message par Duke49 »

J'ai essayé avec: $hGui = WinGetHandle("New GUI")
Même problème :roll:
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Erreur GDI -> GUI

#4

Message par sylvanie »

As tu copié collé tout le code que j'ai rectifié ?
Car de mon côté ça mache ... :?
il y a aussi la création d'un handle graphique :

Code : Tout sélectionner

$hGraphic = _GDIPlus_GraphicsCreateFromHWND ($Winhnd)
 
créé depuis le handle windows. L'as tu pris en considération ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Duke49
Niveau 1
Niveau 1
Messages : 3
Enregistré le : sam. 20 sept. 2008 00:11
Status : Hors ligne

Re: [..] Erreur GDI -> GUI

#5

Message par Duke49 »

Impécable :)
Un petit rafraichissement pour l'autoredraw et mon test est ok !

Merci Sylvanie :D
Répondre