Disparition du programme dans la barre des taches

Résolu
Grenapeel Messages postés 8 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 15 juillet 2009 - 25 juin 2009 à 08:38
Grenapeel Messages postés 8 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 15 juillet 2009 - 15 juil. 2009 à 09:07
Bonjour,
je rencontre actuellement le probleme suivant : J'ai un programme (MFC) avec une premiere
fenetre qui s'ouvre ou on choisit le type de distance metre a utiliser. Puis quand on clique
sur OK le programme ferme cette fenetre et doit en ouvrir une autre suivant le distance metre choisi (LDM301 ou LDM41/42).
Le problème c'est que lorsque cette nouvelle fenêtre s'ouvre la notification dans la barre des taches windows disparait
et je ne sais pas pourquoi. Le programme fonctionne quand même parfaitement mais ce detail me gene.

J'ai cherché sur google mais je n'ai trouvé que des messages ou les gens voulaient faire disparaitre la notification de la barre des taches, moi c'est l'inverse ^^

voici la partie du programme concernée:

void CCOMDlg::OnOK()
{
    // TODO: Add extra validation here
    // COM Port information
    CDialog::OnOK();

    // COM Port Information
    m_strDeviceLDM= m_strDevice;
    m_strBaudLDM=m_strBaud;
    m_strDatabitsLDM=m_strDatabits;
    m_nParityLDM=m_nParity;
    m_strPortLDM=m_strPort;
    m_nStopbitsLDM=m_nStopbits;

     // Close previous window
    HWND m_hWnd;
    if (GetParent()! =NULL)
        ::SendMessage(GetParent()->m_hWnd, WM_MY_CLOSEME, (WPARAM) 0, (LPARAM) 0);

    // Choose correct Window for different devices
    if (m_strDevice= ="LDM301")
    {
        LDM301 newdlg;
        newdlg.DoModal();
    return;
    }
    if (m_strDevice =="LDM41/42")
    {
        LDM4X newdlg;
        newdlg.DoModal();
    return;
    }
}

1 réponse

Grenapeel Messages postés 8 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 15 juillet 2009
15 juil. 2009 à 09:07
Bon je réponds à ma question vu que j'ai résolu mon problème desfois que ca interesse qqn:

    if (m_strDevice=="LDM301")
    {
        LDM301 newdlg;
        AfxGetThread ()->m_pMainWnd = &newdlg;
        newdlg.DoModal();

    return;
    }
    if (m_strDevice=="LDM41/42")
    {
        LDM4X newdlg;
        AfxGetThread ()->m_pMainWnd = &newdlg;
        newdlg.DoModal();
    return;
    }

Céttait ca le problème, je fermais la fenetre principale sans en definir une auter comme principale, voila.
3
Rejoignez-nous