[R] GUI Inactive

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
Jokerbadtrip
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 août 2013 17:23
Status : Hors ligne

[R] GUI Inactive

#1

Message par Jokerbadtrip »

Bonjour à tous !

Alors je suis en train de créer un bot ( Attention j'en vois déjà qui crient au cheat !) qui consiste à publier une musique qui vient d'être "rendu" directement sur soundcloud. Je sais qu'ableton le fait directement après si on le souhaite mais ce programme n'est pas pour moi, il est pour un collègue qui utilise reason.

Donc le problème est en réalité que ma GUI se lance parfaitement bien ( dans SciTE ) mais je ne peux tout simplement pas interagir avec les boutons !

Voici mon code :

Code : Tout sélectionner

;-----------------------------------------------------------------------------------------
;------------------------------ SECTION I ------------------------------------------------
;-----------------------------------------------------------------------------------------
; Version AutoIT :       3.3
; Langue :               Français
; Plateforme :           Win7
; Auteur :               Jokerbadtrip
; Version :              Beta 0.9
; Date :                 03/08/2013

; 
;              


;------------------------------------------------------------------------------------------
;------------------------------ SECTION II ------------------------------------------------
;------------------------------------------------------------------------------------------
; Déclarations diverses :
#include <String.au3>
#include <Array.au3>
#include <Inet.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <IE.au3>

;Les variables

$bString = True



;-------------------------------------------------------------------------------------------
;------------------------------ SECTION III ------------------------------------------------
;-------------------------------------------------------------------------------------------

; Fenêtre Principale

#Region ### START Koda GUI section ### Form=c:\users\sim-sim\pictures\gui koda\gui bot sc.kxf
$Form1_1 = GUICreate("Bot Soundcloud - Jokerbadtrip", 818, 618, 291, 57)
GUISetBkColor(0xA0A0A0)
$Pic1 = GUICtrlCreatePic("C:\Users\Sim-Sim\Pictures\Jokerbadtrip.jpg", 0, 0, 816, 616)
$Group1 = GUICtrlCreateGroup("Bienvenue sur le Bot SoundCloud créé par Jokerbadtrip.", 80, 16, 657, 97)
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$Label1 = GUICtrlCreateLabel("", 88, 40, 568, 17)
$Label2 = GUICtrlCreateLabel("", 88, 64, 625, 17)
$Label3 = GUICtrlCreateLabel("", 88, 88, 281, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlSetCursor (-1, 0)
$Group2 = GUICtrlCreateGroup("Copyright (C) - Jokerbadtrip 2013", 40, 512, 737, 89)
GUICtrlSetFont(-1, 4, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0xFFFBF0)
$Button1 = GUICtrlCreateButton("Fermer", 48, 568, 89, 25)
GUICtrlSetColor(-1, 0x000000)
$Button2 = GUICtrlCreateButton("Suivant", 688, 568, 81, 25)
GUICtrlSetColor(-1, 0x000000)
GUICtrlCreateGroup("", -99, -99, 1, 1)

#EndRegion ### END Koda GUI section ###



; Fenêtre secondaire

#Region ### START Koda GUI section ### Form=c:\users\sim-sim\pictures\gui koda\gui bot sc2.kxf
$Form2 = GUICreate("Bot Soundcloud - Jokerbadtrip", 818, 618, 186, 113)
$Pic1 = GUICtrlCreatePic("C:\Users\Sim-Sim\Pictures\Jokerbadtrip.jpg", 0, 0, 816, 616)
$Group1 = GUICtrlCreateGroup("Il est impératif d'utiliser Google Chrome, sinon le bot ne fonctionnera pas !", 120, 40, 577, 193)
$Group2 = GUICtrlCreateGroup("Indiquez le chemin de Chrome.exe", 136, 96, 545, 113)
$Input1 = GUICtrlCreateInput("C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe", 152, 136, 329, 21)
GUICtrlSetCursor (-1, 5)
$Button3 = GUICtrlCreateButton("Parcourir", 528, 136, 83, 25)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button4 = GUICtrlCreateButton("Précédent", 80, 552, 75, 25)
$Button5 = GUICtrlCreateButton("Lancer le bot", 664, 552, 75, 25)
$Label1 = GUICtrlCreateLabel(" Copyright (C) - Jokerbadtrip 2013", 632, 592, 161, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)

#EndRegion ### END Koda GUI section ###




;-------------------------------------------------------------------------------------------
;------------------------------ SECTION IV -------------------------------------------------
;-------------------------------------------------------------------------------------------
GUISetState(@SW_SHOW, $Form1_1)

;Fenêtre principale :
While 1
   
    $nMsg = GUIGetMsg()
    Switch $nMsg
         Case $GUI_EVENT_CLOSE
            Exit
         
         Case $Pic1
            _IECreate("https://soundcloud.com/jokerbadtrip")
         
         Case $Button1
            Exit
            
         Case $Button2
            GUISetState(@SW_HIDE, $Form1_1)
            GUISetState(@SW_SHOW, $Form2)
         
         Case $Button3
            FileOpenDialog("Chemin de Chrome.exe", @Scriptdir&'\', "Tous(*.*)", 9)
         
         Case $Button4
            GUISetState(@SW_HIDE, $Form2)
            GUISetState(@SW_SHOW, $Form1_1)
         
         Case $Button5
            
    EndSwitch
WEnd
Je sais qu'il y a des Label qui ne sont pas remplis, ce qui est normal puisque le programme n'est pas du tout finit.
Comme le bouton 5 qui n'a pas de tâche à effectuer.

Merci de vôtre aide.
Bye !
Modifié en dernier par Jokerbadtrip le dim. 04 août 2013 13:52, modifié 1 fois.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [...] GUI Inactive

#2

Message par PandiPanda »

Bonjour,
Le problème réside je suppose que quoi que vous fassiez, vous appuiez sur n'importe quel des boutons, ca vous ouvre "https://soundcloud.com/jokerbadtrip".

Cela réside dans le fait que la taille de l'image est quasi identique à celle de la gui en elle même à 2 pixel près.

En gros vous voulez appuier sur un bouton, seulement c'est "$pic" qui réagit, du fait qu'il est "devant".

Si vous enlevez

Code : Tout sélectionner

_IECreate("https://soundcloud.com/jokerbadtrip")
ou bien si vous mettez

Code : Tout sélectionner

GUISetState(@SW_SHOW, $Form1_1)
GUICtrlSetState($Pic1,@SW_DISABLE)
ca devrai deja aller un peu mieux.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
Jokerbadtrip
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 août 2013 17:23
Status : Hors ligne

Re: [...] GUI Inactive

#3

Message par Jokerbadtrip »

Bonjour,

Merci de votre réponse rapide.

Le problème est du fait que même l'image ne réagit pas. C'est pour cela d'ailleurs que je l'ai rendu "cliquable".


Bonne soirée !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [...] GUI Inactive

#4

Message par mikell »

Un petit coup de fatigue Panda ? :mrgreen:

Code : Tout sélectionner

GUICtrlSetState($Pic1, $GUI_DISABLE)
@Jokerbadtrip
Donner le même nom à des controles différents ne peut qu'amener à des résultats, disons... inattendus
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] GUI Inactive

#5

Message par jguinch »

C'est pour cela d'ailleurs que je l'ai rendu "cliquable".
Il faut que l'image de fond soit cliquable ?
Comme l'ont dit mikell et PandiPanda, il faut désactiver l'image de fond, sans quoi GUIGetMsg() renverra toujours l'ID de l'image quelque soit le contrôle sur lequel on clique.
Pour désactiver l'image de fond et la rendre cliquable quand même, on poura récupérer l'ID du contrôle cliqué avec GUIGetCursorInfo() :

Code : Tout sélectionner

$cursor = GUIGetCursorInfo($Form1_1)
If NOT @error AND $cursor[2] AND $cursor[4] = $Pic1 AND WinActive($Form1_1) Then _IECreate("https://soundcloud.com/jokerbadtrip", 0, 1, 0)
Petite suggestion par rapport à _IECreate() : tu devrais spécifier $f_wait=0 pour ne pas geler ta GUI pendant le chargement de la page (tu n'as peut être pas remarqué que la GUI est comme inactive pendant le chargement, mais moi avec mon débit de m.... j'ai bien vu :) )
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Jokerbadtrip
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 août 2013 17:23
Status : Hors ligne

Re: [...] GUI Inactive

#6

Message par Jokerbadtrip »

Bonjour !

Merci pour vos réponse.

Alors j'ai fait ce que tu m'as dit jguinch et l'image est maintenant cliquable !! Bon c'était pas le principale de ce que je voulais faire. Si l'image pose un problème elle pourra partir.

J'ai donc placé le tout comme ceci :

Code : Tout sélectionner

;-------------------------------------------------------------------------------------------
;------------------------------ SECTION IV -------------------------------------------------
;-------------------------------------------------------------------------------------------
GUISetState(@SW_SHOW, $Form1_1)

;Fenêtre principale :
While 1
   
    $nMsg = GUIGetMsg()
    Switch $nMsg
         Case $GUI_EVENT_CLOSE
            Exit
         
         Case $Button1
            Exit
            
         Case $Button2
            GUISetState(@SW_HIDE, $Form1_1)
            GUISetState(@SW_SHOW, $Form2)
         
         Case $Button3
            FileOpenDialog("Chemin de Chrome.exe", @Scriptdir&'\', "Tous(*.*)", 9)
         
         Case $Button4
            GUISetState(@SW_HIDE, $Form2)
            GUISetState(@SW_SHOW, $Form1_1)
         
         Case $Button5
         
         
    EndSwitch   
    
      $cursor = GUIGetCursorInfo($Form1_1)
      If NOT @error AND $cursor[2] AND $cursor[4] = $Pic1 AND WinActive($Form1_1) Then
         _IECreate("https://soundcloud.com/jokerbadtrip", 0, 1, 0)
      EndIf
    
WEnd
 
J'avais commencé par faire un case $pic1 ...etc mais je me tapais l'erreur du "statement", pourtant l'indentation était parfaite, je n'ai pas compris Oo.

Bonne journée, bye !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [...] GUI Inactive

#7

Message par jguinch »

Si ton problème est résolu, n'oublie pas de passer en [R] ton premier post
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Jokerbadtrip
Niveau 1
Niveau 1
Messages : 8
Enregistré le : sam. 03 août 2013 17:23
Status : Hors ligne

Re: [R] GUI Inactive

#8

Message par Jokerbadtrip »

Rebonjour,

Mon problème est résolu désormais, j'ai rétréci la taille de l'image, un grand merci à vous, une bonne communauté française (pour une fois, pas comme sur CoD :P ).

Aller bonne journée et vacances pour ce qui le sont !
Répondre