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

Visual C++ Discussion :

Evènement en programmation


Sujet :

Visual C++

  1. #1
    bruce-willis
    Invité(e)
    Par défaut Evènement en programmation
    Bonjour,

    Habitué d'utiliser les IDE comme C++ Builder ou bien notre Visual C++, il me suffisait toujours de double cliquer sur un composant ou choiser parmi une liste pour ajouter des actions à un évènement (clic sur bouton, création d'une fiche, etc.). Sous C++ Builder, c'est encore plus facile par ex, il y a des évènements préfabriqués par ex pour la suppression d'un record dans une table de BD
    Bon !
    Mais comment faire pour ajouter d'autres évènements et messages en Visual C++ ? Sans passer ou s'il le faut aux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    BEGIN_MESSAGE_MAP(CProgTreeView, CScrollView)
    ON_WM_LBUTTONDOWN()
    ON_WM_LBUTTONUP()
    ON_WM_MOUSEMOVE()
    ON_WM_MBUTTONDBLCLK()
    ON_WM_LBUTTONDBLCLK()
    ON_WM_ERASEBKGND()
    ON_WM_SIZE()
    ON_COMMAND(ID_ARBRE_TRAITEMENT, &CProgTreeView::OnArbreTraitement)
    END_MESSAGE_MAP()

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Bonsoir,
    Pour les messages privé voir ci-dessous
    http://cpp.developpez.com/faq/vc/ind...PrivateMessage

    OU encore
    ftp://ftp-developpez.com/farscape/tu...er-mfc-vc6.pdf
    p24 et suivantes

    A+

  3. #3
    bruce-willis
    Invité(e)
    Par défaut
    Merci alen pour ces liens mais je les ai déja lu il y a longtemps !!!

    En fait, j'aimerais comprendre la technique interne (cachée) de gestion des messages et évènements sous Visual C++, de Windows même. Ce n'est pas vraiment gentil de cliquer sur un controle et une fonction se crée pour taper le code de l'action sans rien savoir ce qui se passe derrière
    Est-ce que les évènements sont des dérivées de la primitive de synchronisation Event (classe CEvent)(il y a comme autres primitives les mutex, sémaphores et sections critiques)

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 588
    Points
    41 588
    Par défaut
    Je ne sais pas pour les événements, mais les Messages MFC passent par le mécanisme de file de message de Windows: Tout thread possède une file de messages*, qu'il traite dans l'ordre grâce à sa boucle de messages et la fonction GetMessage()†.

    Une application normale reçoit un message par la WindowProc de chaque fenêtre. Les WindowProc de MFC sont un peu plus élaborées, et consultent la MessageMap pour savoir s'il y a une fonction membre à appeler, et le cas échéant, l'appellent.

    *Précision, il ne possède une file de messages qu'après avoir appelé une fonction relative aux files de messages. Donc, les threads qui n'y touchent jamais n'ont pas de file.
    †"L'ordre" lui-même est un peu plus compliqué, du fait des priorités. Certains messages sont dispatchés avant même que GetMessage() retourne.

  5. #5
    Membre expérimenté
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 219
    Points : 1 438
    Points
    1 438
    Par défaut
    Pour ma part, je te dirais de voir la page 8 de ce tuto : http://www.vije.net/ressources/infor...multitache.pdf

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/04/2010, 12h51
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 04h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 15h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 09h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 10h43

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