Page 1 sur 1

[R] GUI Inactive

Posté : sam. 03 août 2013 18:08
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 !

Re: [...] GUI Inactive

Posté : sam. 03 août 2013 19:04
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.

Re: [...] GUI Inactive

Posté : sam. 03 août 2013 21:32
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 !

Re: [...] GUI Inactive

Posté : sam. 03 août 2013 22:26
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

Re: [...] GUI Inactive

Posté : sam. 03 août 2013 23:16
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 :) )

Re: [...] GUI Inactive

Posté : dim. 04 août 2013 12:01
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 !

Re: [...] GUI Inactive

Posté : dim. 04 août 2013 13:33
par jguinch
Si ton problème est résolu, n'oublie pas de passer en [R] ton premier post

Re: [R] GUI Inactive

Posté : dim. 04 août 2013 13:52
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 !