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

MFC Discussion :

Problème Programmation MFC


Sujet :

MFC

  1. #1
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut Problème Programmation MFC
    Bonjour je repost ici car apparament c'était pas le bonne endroit,

    je développe actuellement une application avec Visual C++ et je me sert des MFC.

    Bref j'ai crée une Edit box dans laquelle je voudrais afficher mon buffer (il recoit des données en boucle). Cependant il n'affiche les données de mon buffer qu'à la fin de la boucle et non durant toute la boucle. Si quelqu'un peut me debloquer..

    Merci.

    Code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    void CClientDlg::OnRecept() 
    {
         static char buffer[TAILLE]; 
        int test=0;
        int autori=0;
        char lettre=0;
        int i;
     
        SOCKET descripteur;
        sock(&descripteur);
     
        for(int j=0;j<20;j++) 
        {
            for (i=0;i<TAILLE-1;i++)
            {
                buffer[i]=lettre = reception(); 
     
            }
     
            buffer[i] = '\0';
     
            for (i=0;i<2;i++)
            reception();
     
            envoi(buffer,descripteur);
     
            ctrl_valeur.SetWindowText(buffer+1);
     
        }
     }

    Je début dans les MFC soyez indulgents :]

    Dans ClassWizard j'ai ajouté une variable de category Control de type CEdit
    La prochaine fois utilise la balise code ,Merci Farscape

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Salut,
    les boucles de traitement empêchent les messages Windows d'arriver aux fenêtres, ce qui donne l'impression d'une application figée car les fenêtres ne sont plus redessinées.
    voir faq:
    http://c.developpez.com/faq/vc/?page...rk#PumpMessage
    l'appel de cette fonction est a mettre dans la boucle pour laisser l'application se raffraichir.
    bon après je ne sais pas pourquoi tu fais buffer+1
    et le fait de faire SetWindowText tel quel écrase systématiquement le contenu de l'édit, tu en es conscient ?

  3. #3
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    D'accord merci pour cette réponse.

    je fais buffer+1 pour regarder un résultat en particulier.

    sinon y a t-il un autre moyen autre que SetWindowText pour afficher une valeur dans mon edit box ? Un autre type de fenêtre ?

    Je ne connais pas trop MFC et je connais pas du tout c++.
    Donc quand je vois la faq ca me parle moyen

    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
    16
    17
     
     
    /*static */void CMyApp ::PumpMessages() 
    { 
       // Handle dialog messages 
        MSG buffer; 
        while(PeekMessage(&buffer, NULL, 0, 0, PM_REMOVE)) 
        { 
            if (!AfxGetApp()->PreTranslateMessage(&buffer)) 
          { 
             ::TranslateMessage(&buffer); 
             ::DispatchMessage(&buffer); 
         }            
         AfxGetApp()->OnIdle(0);   // updates user interface 
        AfxGetApp()->OnIdle(1);   // frees temporary objects 
        } 
    }
    Je ne vois pas ou l'on définie la variable ctrl_valeur que j'ai rajouté sur mon IDC_EDIT2

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    vu que tu debutes je peux pas t'explique le code de la faq ..
    mais cette fonction permet de recevoir et dispatcher les messages windows a ton application:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    void CClientDlg::OnRecept() 
    {
         static char buffer[TAILLE]; 
        int test=0;
        int autori=0;
        char lettre=0;
        int i;
     
        SOCKET descripteur;
        sock(&descripteur);
     
        for(int j=0;j<20;j++) 
        {
            for (i=0;i<TAILLE-1;i++)
            {
                buffer[i]=lettre = reception(); 
     
            }
     
            buffer[i] = '\0';
     
            for (i=0;i<2;i++)
            reception();
     
            envoi(buffer,descripteur);
     
            ctrl_valeur.SetWindowText(buffer+1);
            CMyApp ::PumpMessages();            
        }
     }
    la fonction peut etre static a ta classe d'application pour pouvoir etre appellée a tout endroit de ton programme ...

  5. #5
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Ok merci pour ton aide je vais regarder tout ça

    Donc en faite mon constructeur, si j'ai compris, c'est ca

    CMyApp :umpMessages();

    ?

    Cependant à la compilation cette ligne pose problème ce qui me semble normal mais comment définir ceci correctement ?

    error C2653: 'CMyApp' : is not a class or namespace name
    error C2065: 'PumpMessages' : undeclared identifier

    Par ailleurs je me demandais quel est l'utilier de PumpMessages ?

    Le problème c'est que le message (mon buffer) n'est pas statique, il change en permance. En faite je viens lire la liaison série puis je stocke ces données dans un buffer où j'affiche les 8 1er octets puis je fais un \r\n pour faire un retour chariot pour écraser cette précédente donnée et réafficher la suivante. Je voulais donc afficher ceci dans mon Edit box pour que sous le même principe ca affiche les données les unes sur les autres. Un rafraichissement enf aite.

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    il ne s'agit pas d'un constructeur, mais d'une facon de ne pas bloquer l'application (elle continue à recevoir des messages, notamment l'affichage).

    CMyapp est ici un exemple, il correspond à la classe d'application, chez toi elle a forcément un autre nom, proche du nom de l'appli, lorsque c'est généré par défaut

  7. #7
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Effectivement je suppose que c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class CAboutDlg : public CDialog
    {
    public:
        CAboutDlg();

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    non, surement pas,
    cherche encore (private joke)

  9. #9
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Ah ok

    Je posterais bien le source mais bon il est un peu lourd alors je continue ma recherche

  10. #10
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Bon bah je ne trouve pas plus de réponse qu'au préalable en parcourant le source que la MFC a généré.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
     
    // ClientDlg.cpp : implementation file
     
    #include "stdafx.h"
    #include "Client.h"
    #include "ClientDlg.h"
    #include "port_serie.h"
     
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
     
    /////////////////////////////////////////////////////////////////////////////
    // CAboutDlg dialog used for App About
     
    class CAboutDlg : public CDialog
    {
    public:
        CAboutDlg();
     
    // Dialog Data
        //{{AFX_DATA(CAboutDlg)
        enum { IDD = IDD_ABOUTBOX };
        //}}AFX_DATA
     
        // ClassWizard generated virtual function overrides
        //{{AFX_VIRTUAL(CAboutDlg)
        protected:
        virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
        //}}AFX_VIRTUAL
     
    // Implementation
    protected:
        //{{AFX_MSG(CAboutDlg)
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
    };
     
    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
    {
        //{{AFX_DATA_INIT(CAboutDlg)
        //}}AFX_DATA_INIT
    }
     
    void CAboutDlg::DoDataExchange(CDataExchange* pDX)
    {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CAboutDlg)
        //}}AFX_DATA_MAP
    }
     
    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
        //{{AFX_MSG_MAP(CAboutDlg)
            // No message handlers
        //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    /////////////////////////////////////////////////////////////////////////////
    // CClientDlg dialog
     
    CClientDlg::CClientDlg(CWnd* pParent /*=NULL*/)
        : CDialog(CClientDlg::IDD, pParent)
    {
        //{{AFX_DATA_INIT(CClientDlg)
        //}}AFX_DATA_INIT
        // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }
     
    void CClientDlg::DoDataExchange(CDataExchange* pDX)
    {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CClientDlg)
        DDX_Control(pDX, IDC_EDIT2, ctrl_valeur);
        //}}AFX_DATA_MAP
    }
     
    BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
        //{{AFX_MSG_MAP(CClientDlg)
        ON_WM_SYSCOMMAND()
        ON_WM_PAINT()
        ON_WM_QUERYDRAGICON()
        ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
        ON_BN_CLICKED(IDC_CONNEXION, OnConnexion)
        ON_NOTIFY(IPN_FIELDCHANGED, IDC_IPADDRESS2, OnIPServeur)
        ON_BN_CLICKED(IDC_init, Oninit)
        ON_BN_CLICKED(IDC_Recept, OnRecept)
        ON_EN_CHANGE(IDC_EDIT2, OnValeur)
        //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    /////////////////////////////////////////////////////////////////////////////
    // CClientDlg message handlers
     
    BOOL CClientDlg::OnInitDialog()
    {
        CDialog::OnInitDialog();
     
        // Add "About..." menu item to system menu.
     
        // IDM_ABOUTBOX must be in the system command range.
        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
        ASSERT(IDM_ABOUTBOX < 0xF000);
     
        CMenu* pSysMenu = GetSystemMenu(FALSE);
        if (pSysMenu != NULL)
        {
            CString strAboutMenu;
            strAboutMenu.LoadString(IDS_ABOUTBOX);
            if (!strAboutMenu.IsEmpty())
            {
                pSysMenu->AppendMenu(MF_SEPARATOR);
                pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
            }
        }
     
        SetIcon(m_hIcon, TRUE);            // Set big icon
        SetIcon(m_hIcon, FALSE);        // Set small icon
     
        // TODO: Add extra initialization here
     
        return TRUE;  // return TRUE  unless you set the focus to a control
    }
     
    void CClientDlg::OnSysCommand(UINT nID, LPARAM lParam)
    {
        if ((nID & 0xFFF0) == IDM_ABOUTBOX)
        {
            CAboutDlg dlgAbout;
            dlgAbout.DoModal();
        }
        else
        {
            CDialog::OnSysCommand(nID, lParam);
        }
    }
     
    void CClientDlg::OnPaint() 
    {
        if (IsIconic())
        {
            CPaintDC dc(this); // device context for painting
     
            SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
     
            // Center icon in client rectangle
            int cxIcon = GetSystemMetrics(SM_CXICON);
            int cyIcon = GetSystemMetrics(SM_CYICON);
            CRect rect;
            GetClientRect(&rect);
            int x = (rect.Width() - cxIcon + 1) / 2;
            int y = (rect.Height() - cyIcon + 1) / 2;
     
            // Draw the icon
            dc.DrawIcon(x, y, m_hIcon);
        }
        else
        {
            CDialog::OnPaint();
        }
    }
     
    // The system calls this to obtain the cursor to display while the user drags
    //  the minimized window.
    HCURSOR CClientDlg::OnQueryDragIcon()
    {
        return (HCURSOR) m_hIcon;
    }
     
    void CClientDlg::OnCancel() 
    { 
        CDialog::OnCancel();
    }
     
    void CClientDlg::OnChangeEdit1() 
    {
     
    }
     
    void CClientDlg::Oninit() 
    {
        int test;
        test = init_port();
        _outp(LCR,3);
     
    void CClientDlg::OnRecept() 
    {
        static char buffer[TAILLE]; 
        int test=0;
        int autori=0;
        char lettre=0;
        int i;
        SOCKET descripteur;
        sock(&descripteur);
     
        for(int j=0;j<20;j++) 
        {
            for (i=0;i<TAILLE-1;i++)
            {
                buffer[i]=lettre = reception(); 
                }
     
            buffer[i] = '\0';
     
            for (i=0;i<2;i++)
            reception();
     
            envoi(buffer,descripteur);
            ctrl_valeur.SetWindowText(buffer+1);
     
            CMyApp ::PumpMessages();
     
        }
     
     }
    void CClientDlg::OnValeur() 
    {
     
    }

  11. #11
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    encore perdu

    la fonction statique PumpMessages doit etre mise dans la classe qui hérite de CWinApp , c'est certainement dans ton Client.h

    Ce qui fait que tu devras appeler la fonction ainsi CClient:umpMessages

  12. #12
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Ok donc en faite j'inclue CClient:umpMessages(); dans ma classe comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    class CClientApp : public CWinApp
    {
    public:
        CClientApp();
        PumpMessages();
     
        public:
        virtual BOOL InitInstance();
     
        DECLARE_MESSAGE_MAP()
    };
    puis j'apelle ma fonction CClientApp:umpMessages(); mais y a t-il des paramètres à passer pour PumpMessages ? comment ca marche par rapport à mon SetWindowText ? Car c'est avant tout pour "rafraichir" la données qui dans mon Edit box.

  13. #13
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Sinon j'ai procédé comme suit

    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
     
     
            ctrl_valeur.SetWindowText(buffer+1);
     
            MSG ctrl_valeur;
     
             while(GetMessage(&ctrl_valeur,NULL,0,0))
     
             {
     
                 TranslateMessage(&ctrl_valeur);
     
                 DispatchMessage(&ctrl_valeur);
     
             }
    Il m'affiche désormais directement la valeur contenu dans le buffer mais ne la rafraichi pas. Il y a du mieux mais c'est pas encore ça

    Parcontre du coup ca laisse tourner mon executable en fond meme s'il est fermé.

  14. #14
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    pourquoi tu fais ça et pas ce que je t'ai montré ?
    c'est pourtant pas compliqué d'inserer une fonction statique dans une classe
    et de faire son appel dans une boucle de traitement

  15. #15
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    En faite je l'ai fais,

    J'ai rajouté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class CClientApp : public CWinApp
    {
    public:
        CClientApp();
       static    PumpMessages();.
    puis dans l'autre partie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        ctrl_valeur.SetWindowText(buffer);
        CClientApp();
        CClientApp::PumpMessages;
    Mais ca ne fonctionne pas. Peut etre que j'ai fais une faute je sais plus je fatigue.. Cependant je ne comprend pas l'utilité de PumpMessages et comment ca marche.

  16. #16
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par farscape
    pourquoi tu fais ça et pas ce que je t'ai montré ?
    c'est pourtant pas compliqué d'inserer une fonction statique dans une classe
    et de faire son appel dans une boucle de traitement
    A vrai dire pour te répondre je ne fait du C que quelques heures par mois mais on me demande bien souvent des choses qui sortent des mes compétences. Malgré tout j'essaye d'aller jusqu'au bout.

  17. #17
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Citation Envoyé par farscape
    Salut,
    les boucles de traitement empêchent les messages Windows d'arriver aux fenêtres, ce qui donne l'impression d'une application figée car les fenêtres ne sont plus redessinées.
    voir faq:
    http://c.developpez.com/faq/vc/?page...rk#PumpMessage
    l'appel de cette fonction est a mettre dans la boucle pour laisser l'application se raffraichir.
    Citation Envoyé par farscape
    salut,
    vu que tu debutes je peux pas t'explique le code de la faq ..
    mais cette fonction permet de recevoir et dispatcher les messages windows a ton application
    Citation Envoyé par nico-pyright(c)
    il ne s'agit pas d'un constructeur, mais d'une facon de ne pas bloquer l'application (elle continue à recevoir des messages, notamment l'affichage).
    On te l'a qd meme expliqué 3 fois ... t'es sur que t'as pas compris ?

  18. #18
    xyz
    xyz est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Bah écoute, ton petit récapitulatif m'a bien éclairé.

    Ca marche, merci à vous. Je suis un peu long à comprendre mais ta petite synthèse ma ouvert à la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Programmation MFC
    Par xyz dans le forum Réseau
    Réponses: 3
    Dernier message: 13/05/2006, 14h36
  2. [Problème] Programme huit reines
    Par thegreatbato dans le forum C
    Réponses: 20
    Dernier message: 04/05/2006, 22h04
  3. Problème programmation : log
    Par rootsl dans le forum C
    Réponses: 4
    Dernier message: 29/03/2006, 11h26
  4. Probléme CFormview MFC
    Par denebj dans le forum MFC
    Réponses: 16
    Dernier message: 30/01/2006, 06h44
  5. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 11h30

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