IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

[messages] utilisation des messages et accès au menu système [FAQ]


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 13
    Points : 5
    Points
    5
    Par défaut [messages] utilisation des messages et accès au menu système
    Bonjour
    Je suis bloquée par un menu système qui apparait lorsque j'utilise la méthode Preview() de mon QuickRep, me permettant d'afficher un aperçu avant impression. Mon problème est que j'ai besoin de savoir lorsque les paramètres (d'impression ici) sont modifiés pour gérer l'événement mais ne connaissant pas le nom de ce menu (appelé menu système dans l'aide) je ne peux pas y accéder.
    Quelqu'un aurait-il une idée sur le nom ou la manière d'accéder à ce menu?
    Un autre utilisateur m'a suggéré d'utiliser les messages qui pourraient être occasionnés par un changement dans les paramètres mais je n'ai aucune idée de la manière dont on utilise ces messages
    Quelqu'un pourrait-il m'éclairer, même si l'explication est vague ou générale, ça ne pourra que me faire avancer...
    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 61
    Points : 63
    Points
    63
    Par défaut
    bonjour,

    Voici un exemple pour ton Pb,

    fichier.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
         class TForm1 : public TForm
    {
         private:
              ....
               HMENU   HandleMenuSystem;
               void __fastcall WMCommandeMenuSystem(TMessage &Msg);
     
    BEGIN_MESSAGE_MAP
            MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, WMCommandeMenuSystem)
    END_MESSAGE_MAP(TForm);
    fichier .cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    static const int MY_ELEMENT_MENU = 1;
     
     //////////////////////////////////////////////////////////////////////////////
    // Réponse de l'element rajouté au menu système
    //////////////////////////////////////////////////////////////////////////////
    void __fastcall TForm_NJ::WMCommandeMenuSystem(TMessage &Msg)
    {            
       if (Msg.WParam == MY_ELEMENT_MENU)
       {
             ShowMessage('Menu System cliqué');
              Msg.Result = true;
       }else TForm::Dispatch(&Msg);
    }
    Cordialement Laurent.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    est-ce que tu pourrais m'expliquer comment fonctionne ton exemple? j'ai essayé de l'intégrer dans mon code mais le message ne s'affiche jms, que je clique sur n'importe quel bouton du menu.
    Que représente MY_ELEMENT_MENU? c'est l'indice de l'élément cliqué dans le menu?
    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 61
    Points : 63
    Points
    63
    Par défaut
    Bonsoir,

    Effectivement le source que j'ai édité ce matin permettait d'ajouter un
    element de menu dans le menu systeme et répondre à l'evenement
    de celui ci.

    Si tu souhaite répondre par exemple à un element du menu systeme
    par exemple sur le menu Restaurer, il suffit de faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    void __fastcall TForm1::WMCommandeMenuSystem(TMessage &Msg)
    {            
       if (Msg.WParam == SC_RESTORE)
       {
            ShowMessage('Menu Restore cliqué !');   
           Msg.Result = true;
       }else TForm::Dispatch(&Msg);
    Cordialement Laurent

Discussions similaires

  1. [REGEXP] Trouver des messages dans des fichiers
    Par panda31 dans le forum Général Python
    Réponses: 2
    Dernier message: 26/11/2008, 14h37
  2. IPC - Files de messages - Structure des messages
    Par Mattius007 dans le forum C
    Réponses: 2
    Dernier message: 03/01/2007, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo