[..] GUI - menu tout simple

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

[..] GUI - menu tout simple

#1

Message par OmegAMRS »

Bonjour,

j'aimerais faire un menu classique au possible, style "Menu" , avec 2 choix "se déconnecter" et "quitter"...
niveau GUI c'est fait, mais j'dois être un peu tagos :lol: , j'trouve pas comment affecter l'exécution d'une fonction à un item de mon menu ...


help please :)

OmegA
guitarist
Niveau 6
Niveau 6
Messages : 235
Enregistré le : mar. 02 déc. 2008 16:59
Status : Hors ligne

Re: [..] GUI - menu tout simple

#2

Message par guitarist »

Voilà une reponse pour toi :

Code : Tout sélectionner

$msg = GUIGetMsg ()

If $msg = $menuquitter Then
    Exit
EndIf

If $msg = $menusedeconnecter Then
    
    ;ton action se deco.
EndIf   
   
Avatar du membre
pop45
Membre émérite
Membre émérite
Messages : 251
Enregistré le : dim. 30 août 2009 16:18
Status : Hors ligne

Re: [..] GUI - menu tout simple

#3

Message par pop45 »

Regarde dans la section coda tu devrait trouver un $button1 et $button2

si 1 c'est pour Quitter et 2 pour se déconnecter et bien
tu rajoute sa apres case $GUI_EVENT_CLOSE

Code : Tout sélectionner

case $Button1
Msgbox ("quitter" , "Vous avez cliquer sur quitter"
case $Button2 
msgbox ("se deconnecter" , "Vous avez cliquer sur se déconnecter
 
Voila j'espère aider
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#4

Message par OmegAMRS »

merci , mais ça ne marche toujours pas pour moi :s

voici mon code :
► Afficher le texte
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] GUI - menu tout simple

#5

Message par Tlem »

Savez-vous qu'il y à une aide dans AutoIt ?
Avez-vous regardé l'aide de la commande GUICtrlCreateMenuItem() ?
Ne croyez-vous pas que l'exemple fournit dans l'aide est amplement suffisant ?
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é".
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#6

Message par OmegAMRS »

exemple de l'aide :

Code : Tout sélectionner

$filemenu = GUICtrlCreateMenu("&File")
$fileitem = GUICtrlCreateMenuItem("Open", $filemenu)

While 1
        $msg = GUIGetMsg()
        
        If $msg = $fileitem Then
            $file = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
            If @error <> 1 Then GUICtrlCreateMenuItem($file, $recentfilesmenu)
        EndIf
...
Wend
quelle est la différence avec mon code ????????
aucune, donc où est l'erreur ???

merci, j'ai regardé l'aide ...si vous regardez mes posts sur d'autres topic, vous verrez que c'est la première chose que je répond généralement sur ce type de questions ..
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] GUI - menu tout simple

#7

Message par Tlem »

Ha ! Effectivement il y à un problème.
Je vous conseil donc de mettre à jour votre version de AutoIt, vous verrez que les exemples sont nettement plus riche. ;)
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é".
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#8

Message par OmegAMRS »

j'ai installé AutoIt et Scite il y a moins d'un mois !

pensez vous que j'ai une version à mettre à jour ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] GUI - menu tout simple

#9

Message par Tlem »

Sûrement, car chez moi, l'aide de la commande GUICtrlCreateMenu() me donne comme exemple :
► Afficher le texte
Ce qui est nettement plus complet que ce que vous donnez !!!
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é".
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#10

Message par OmegAMRS »

d'accord c'est plus complet, mais intrèsequement, est-ce différent ? vous voyez un erreur dans mon code ?

merci en tout cas de vous pencher sur mon "cas" ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] GUI - menu tout simple

#11

Message par Tlem »

Et bien tout simplement vous utilisez une fonction GUICtrlxxxx pour créer un contrôle, mais vous n'avez pas de GUI, donc cela ne peut pas fonctionner.
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é".
guitarist
Niveau 6
Niveau 6
Messages : 235
Enregistré le : mar. 02 déc. 2008 16:59
Status : Hors ligne

Re: [..] GUI - menu tout simple

#12

Message par guitarist »

Voilà une reponse :
► Afficher le texte
ATTENTION TU AVAIS OUBLIER LES ENDIF C'EST TRES TRES GRAVE :lol:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] GUI - menu tout simple

#13

Message par Tlem »

@guitarist
Il est très sympa de votre part de répondre à la question de OmegAMRS, mais uniquement si c'est pour dire quelque chose de vrai. En l'occurrence, vous n'y êtes pas du tout.

Un If peut avoir deux formes :

Code : Tout sélectionner

If $Var = 1 Then $Condition = True
ou

Code : Tout sélectionner

If $Var = 1 Then
  $Condition = 1
  MsgBox(32,"Hello", "Hello World")
EndIf
Mais ceci est faux :

Code : Tout sélectionner

If $Var = 1 Then $Condition = 1
  MsgBox(32,"Hello", "Hello World")
EndIf
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é".
guitarist
Niveau 6
Niveau 6
Messages : 235
Enregistré le : mar. 02 déc. 2008 16:59
Status : Hors ligne

Re: [..] GUI - menu tout simple

#14

Message par guitarist »

Alors toutes mes escuses :( Mais j'espere que mon script est bin au moins
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] GUI - menu tout simple

#15

Message par sylvanie »

Qu'est ce qui ne marche pas au juste ?
- pas d'action déclenchée
-pas d'affichage du menu
- de la gui ?

ça aiderait à cibler.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#16

Message par OmegAMRS »

merci pour vos réponses à tous :)

en effet, il n'y a pas de GUI créé dans le bout de code que je vous ai fourni, mais il existe bel et bien dans mon programme, je vous rassure.
ce programme fait pour l'instant environ 500 lignes de code, aussi ais-je mis ici simplement celles qui me posaient problème.

le problème est le suivant : pas d'action déclenchées quand je clique sur les éléments de mon menu...

d'autres part, je voulais savoir si vous voyez un moyen de personnaliser le menu, à savoir la taille du bouton initial, son emplacement par rapport au GUI, etc ... pour l'instant, je me penche sur le moyen de faire moi-même mon menu à la mano, mais bon je pressent que ça va être galère, et qu'au final ça sera une bidouille sans nom :/

merci à vous !

bonne journée

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

Re: [..] GUI - menu tout simple

#17

Message par Tlem »

Personnellement, je vous recommande vivement l'installation de Scite4AutoIt si ce n'est pas déjà fait (lien ici).

Ensuite allez dans le dossier C:\Program Files\AutoIt3\SciTE\Koda puis lancez le programme FD.exe.
Regardez dans la section supérieure, vous trouverez dans l'onglet Standard le deuxième icône qui vous permettra de construire le menu qu'il vous faut trés facilement. ;)
Cet outil comme vous le verrez fonctionne aussi pour tout les éléments graphique ...

Que du bonheur. 8)
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é".
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] GUI - menu tout simple

#18

Message par sylvanie »

si la gui apparaît, c'est donc pas le guisetstate() qui manque (un grand classique ^^)

sinon, est que le mode évènementiel ( Opt("GUIOnEventMode", 1) ) est cumulé avec
GUIGetMsg(), car les deux ne marchent pas ensemble.

autre piste, est qu'il y a une succession de boucles while du type :

Code : Tout sélectionner

while gérant la gui
  ...
  appel à toto()

wend

func toto()
   while ...
         et on est coincé ici 
   wend
endfunc
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#19

Message par OmegAMRS »

sylvanie a écrit : sinon, est que le mode évènementiel ( Opt("GUIOnEventMode", 1) ) est cumulé avec
GUIGetMsg(), car les deux ne marchent pas ensemble.

aaaah ca je savais pas, en effet, mon problème doit venir de là.

je vérifie ça et je vous tiens au courant, merci !!

@Tlem : oui, j'utilise déjà Scite et Koda, mais le menu créé par koda s'affiche invariablement en haut à gauche du GUI, comme tout menu "classique" qui se respecte ...
OmegAMRS
Niveau 4
Niveau 4
Messages : 54
Enregistré le : mar. 15 sept. 2009 09:37
Status : Hors ligne

Re: [..] GUI - menu tout simple

#20

Message par OmegAMRS »

j'ai laissé tomber l'idée du menu, n'arrivant pas a le placer en haut a DROITE de ma fenêtre :(

du coup j'ai remplacé par une sorte de mini barre d'outils, des boutons quoi ...
si quelqu'un a une soluce, je prend quand même ;)

j'aime pas m'avouer vaincu et faire une bidouille pour arriver au but recherché :p
Répondre