[EX] GUI avec background en PNG JPEG ou GIF animé.

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Doum
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 25 mars 2008 23:32
Status : Hors ligne

[EX] GUI avec background en PNG JPEG ou GIF animé.

#1

Message par Doum »

Bonjour

Après vous avoir longuement lu et pris en compte vos divers conseils, je me suis lancé dans la création d'un GUI avec une image PNG en arrière plan. Il fonctionne aussi avec une image en jpg ou gif (même animé).
En fichier joint, il y a "fond.gif" à placer dans le même répertoire que le script sinon vous ne verrez pas vos labels ou boutons.

Code : Tout sélectionner

; Version AutoIt_x64 :    3.2.10.0
; Langue     :            Francais
; Plateforme :            Win Vista x64
; Autheur    :            Doum
;
; --------------------------------------------------------------------------------------------
; ---------------------------------------- Section I  ----------------------------------------
; --------------------------------------------------------------------------------------------
; Déclaration
;
#include <GuiConstants.au3>

; --------------------------------------------------------------------------------------------
; --------------------------------------- Section II  ----------------------------------------
; --------------------------------------------------------------------------------------------
; Fenetre du GUI
;
Dim $img
Global $iGuiW = 507, $iGuiH = 516, $sTitle = "Mon Interface"
$hGui = GUICreate($sTitle, $iGuiW, $iGuiH, -1, -1)
SelectImage()
AddImage()
GUISetState()

$imgBg= @ScriptDir & "\fond.gif" ;Fichier indispensable
$controlGui = GUICreate("Input", $iGuiW, $iGuiH, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hGui)
GUICtrlCreatePic($imgBg, 0, 0, $iGuiW, $iGuiH)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetColor(-1, 0xFFFFFF)
GUISetState()

$LabelColor = 0xFA0C0A
GUICtrlCreateLabel("Votre Nom:", 20, 5)
GUICtrlSetColor(-1, $LabelColor)
GUICtrlSetBkColor (-1, $GUI_BKCOLOR_TRANSPARENT)
$Nom = GUICtrlCreateInput("", 80, 5, 75, 20)
GUICtrlSetLimit(-1, 14)

$button_OK = GUICtrlCreateButton("Ok", 20, 30, 40, 20)
GUICtrlSetColor(-1, $LabelColor)
GUICtrlSetBkColor (-1, 0xFFFFFF);Si on met $GUI_BKCOLOR_TRANSPARENT on a un fond noir

$quitter = GUICtrlCreateButton ("Quitter", 20,60,40,40,$BS_ICON) 
GUICtrlSetImage (-1, "shell32.dll",28)

While 1
    Sleep(10)
    $msg = GUIGetMsg()
    Select    
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $button_OK
            MsgBox(0, "", GUICtrlRead($Nom) & " Le bouton fonctionne!")
        Case $msg = $quitter
            Exit
    EndSelect
WEnd

; --------------------------------------------------------------------------------------------
; ---------------------------------------- Section III  --------------------------------------
; --------------------------------------------------------------------------------------------
; Choix de l'image PNG/JPG/BMP/GIF(Même animée)
;
Func SelectImage()
HotKeySet("{TAB}", "Quitter") ;quand je met {ESC} ou {ESCAPE} il ne quitte pas mais la c'est bon
$message = "Sélectionner l'image qui sera en arrière plan."
Global $img = FileOpenDialog($message, @ScriptDir, "Images (*.png;*.jpg;*.gif;*.bmp)", 1 + 2 )
If @error Then
    MsgBox(4096,"","Vous n'avez rien sélectionné.")
    SelectImage()
Else
    $img = StringReplace($img, "|", @CRLF)
    MsgBox(4096,"","Vous avez sélectionné " & $img)
EndIf
EndFunc

; --------------------------------------------------------------------------------------------
; ---------------------------------------- Section IV  ---------------------------------------
; --------------------------------------------------------------------------------------------
; Fonction Ajout de l'image PNG
;
FUNC AddImage()
    LOCAL $x = ObjCreate("Shell.Explorer")
    IF IsObj($x) THEN
       GUICtrlCreateObj($x,0,0,$iGuiW,$iGuiH)
       $x.navigate("about" & chr(58) & "blank")
       WHILE $x.Busy()
          Sleep(20)
       WEND
       $x.document.body.background = $img
       $x.document.body.scroll = "no"
       $x.document.body.style.border = "0px"
    ENDIF
ENDFUNC; Ajout de l'image

; --------------------------------------------------------------------------------------------
; ---------------------------------------- Section V  ----------------------------------------
; --------------------------------------------------------------------------------------------
; Fonction Quitter
;
Func Quitter()
    Exit 0
EndFunc
 
Merci et à bientôt. :lol:
Fichiers joints
fond.zip
"fond.gif" à placer dans le répertoire du script.
(124.48 Kio) Téléchargé 508 fois
Modifié en dernier par Doum le sam. 29 mars 2008 23:47, modifié 4 fois.
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#2

Message par tolf »

Chez moi ça ne marche pas : en fond j'ai un truc du genre :

"Navigation vers la page Web annulée
Essayez la chose suivante :
    Actualisez la page"
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
Avatar du membre
Doum
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 25 mars 2008 23:32
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#3

Message par Doum »

Salut,

Dans la section IV, la ligne
$x.navigate("about&#058;blank")
doit être remplacé par
$x.navigate("about:blank")
L'erreur est apparut à l'édition du post et je n'arrive pas à l'éditer, c'est à cause des balises.
Faite la modification et dites moi si c'est bon.
J'ai changé dans le code et remplacé le caractère " : " par " chr(58) ".

A plus.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#4

Message par Tlem »

Le code fonctionne parfaitement.

Pour ne pas avoir de message d'erreur dans Scite4AutoIt, il faut rajouter dans les déclarations :

Code : Tout sélectionner

Dim $img
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#5

Message par tolf »

Tlem a écrit :Le code fonctionne parfaitement
Non, toujours pas chez moi ! J'ai changé la ligne :

Code : Tout sélectionner

$x.navigate("about&#058;blank")
par la ligne :

Code : Tout sélectionner

$x.navigate("about" & chr(58) & "blank")
mais cette fois-ci, j'ai un fond blanc :roll:
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#6

Message par tolf »

Sinon, j'ai une petite question sur le script : qu'est-ce-que le logiciel "Shell.Explorer" ?
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#7

Message par ani »

ce n'est pas un logiciel, enfin oui et non, le shell.explorer c'est l'objet de l'explorateur windows (qui soit explorer ou iexplore), pour de plus amples information a ce sujet voir microsoft ;)
Avatar du membre
Doum
Niveau 1
Niveau 1
Messages : 3
Enregistré le : mar. 25 mars 2008 23:32
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#8

Message par Doum »

Salut,

Tolf, avez-vous enregistrer votre script et mis le fichier fond.gif dans le même répertoire?
Ce fichier ne doit pas être modifié ou renommé.
Si vous voulez le placer ailleurs c'est à la ligne (25) : $imgBg= @ScriptDir & "\fond.gif"
Vous mettez un chemin relatif si vous voulez.
Avez-vous utilisé mon fichier png et gif d'exemple pour vos tests?
Quel est votre version d'Autoit, Windows et Iexplorer?
Avez-vous des messages d'erreur dans Scite4Autoit?
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#9

Message par tolf »

J'ai bien mis le fichier dans le même répertoire.
AutoIt : dernière version
Windows : XP
IE : 7
Pas de message d'erreur dans SciTE
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [EX] GUI avec background en PNG JPEG ou GIF animé.

#10

Message par Tlem »

Tout pareil pour moi, mais le script fonctionne sur ma machine.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre