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 :

Classe et Fenêtre indépendante


Sujet :

MFC

  1. #41
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    ca y est j'ai ma fenetre, mais elle ne s'affiche pas corectement et en plus elle bloque tout !!! (obligé de faire Ctrl+alt+sup)

  2. #42
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Donc voila j'ai toujours le probleme d'affichage.
    Voici l'état de la bête.

    Je vois pas le ligne pour la rendre indépendante, pour qu'elle se raffiche toute seule.



    Comment je peux faire ... Je trouve pas de code commenté pour savoir a quoi sert les lignes ...


    ps : la fenetre est caché sous les bouton et tout du premier CDialog !!!

  3. #43
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Montre moi le *.h de la classe qui est associé à ta boite de dialogue.

  4. #44
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    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
     
     
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // DllDialog.h : header file
    //
     
    /////////////////////////////////////////////////////////////////////////////
    // CDllDialog dialog
     
    class CDllDialog : public CDialog
    {
    // Construction
    public:
    	CDllDialog(CWnd* pParent = NULL);   // standard constructor
     
     
    	enum { IDD = IDD_SETUP };
     
    protected:
    	HICON			m_hIcon;
    	CToolTipCtrl	m_tooltip;
     
     
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);   
     
    protected:
    	virtual BOOL OnInitDialog();
     
    	afx_msg void OnCheckNormalisation();
    	afx_msg void OnCheckDetection();
     
    	DECLARE_MESSAGE_MAP()
    };
    voila

  5. #45
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    OK, et maintenant montre moi comment est-ce que tu l'affiches.

  6. #46
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    dans le 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    CDllDialog::CDllDialog(CWnd* pParent /*=NULL*/)
    	: CDialog(CDllDialog::IDD, pParent)
    {
    	m_hIcon = AfxGetApp()->LoadIcon(IDI_ICONE);
    }
     
    BOOL CDllDialog::OnInitDialog() 
    {
    	// TODO: Add your control notification handler code here
     
    	CDialog::OnInitDialog();
     
    	// Définir l'icône de cette boîte de dialogue. L'infrastructure effectue cela automatiquement
    	//  lorsque la fenêtre principale de l'application n'est pas une boîte de dialogue
    	SetIcon(m_hIcon, TRUE);			// Définir une grande icône
    	SetIcon(m_hIcon, FALSE);		// Définir une petite icône
     
      // Create the ToolTip control.
    	m_tooltip.Create(this);
    	m_tooltip.Activate(TRUE);
      // assign tools to controls
     
     
    	UpdateData(FALSE);
    	return TRUE;  // retourner TRUE, sauf si vous avez défini le focus sur un contrôle
     
    }
    et apres je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    extern "C" void WINAPI AfxShowDlg(CWnd* pParent)
    {
    	AFX_MANAGE_STATE(AfxGetStaticModuleState());
    	CDllDialog dlg(pParent);
    	dlg.DoModal();
    }

  7. #47
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Mais alors quel est le problème maintenant?

  8. #48
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Enlève un peu le
    dans AfxShowDlg()

  9. #49
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Le probleme est que la fenetre s'affiche, mais elle bloque tout !!! J'ai pas la main sur elle, et j'ai pas la main sur la parent !!!

    Je vient de tout testé et c'etait pas ca !!!

  10. #50
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Où est-ce que tu appelles AfxShowDlg() dans quel méthode du programme client

  11. #51
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    je l'appelle au niveau de quant je crique sur le bouton steup de l'interface principale.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    void CAutoCollimationV1Dlg::OnBSetupTraitement()
    {
    	// show DCAM standard features dialog
    	AfxShowDlg(this);
    }
    testé avec ou sans le this.

  12. #52
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Je viens de tester un programme exemple et ça marche chez moi avec une apli MFC et une DLL regular avec sa boite dialogue.

  13. #53
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Oui, ca ca marchais !!! Mais comment il faut faire pour ajouter dedans les boutons et tout ce que j'ai dans IDD_ETUP ? (c'est un dialog).

    En fait ce que j'avais fais, c'est que j'ai créé une class avec le truc automatique. Et ca m'a fais une fenetre bloquante.

    Par contre c'est pas comme dans le tutoriel, mais du coup je ne sais pas comment metttre mon interface dans la fenetre.

  14. #54
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    ...mettre mon interface dans la fenetre.
    ça veut dire quoi?

    Oui, ca ca marchais !!! Mais comment il faut faire pour ajouter dedans les boutons et tout ce que j'ai dans IDD_ETUP ? (c'est un dialog).
    Mais c'est simple. A l'aide de l'éditeur de ressource tu ajoutes tes contrôles simplement par drag & drop sur ta boite de dialogue...
    Tu fais un design à main levée!!!

  15. #55
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    b'en justement, j'ai déja mon interface de faite.

    Je l'ai appelé IDD_SETUP.

    Le soucis est que dans la methode de création dynamique, je ne vois pas ou est précisé l'ajout du cdialog.

    Moi j'ai qu'une fenetre vide.

  16. #56
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    IDC_SETUP != IDD_SETUP
    Mais pourquoi cette différence.

    b'en justement, j'ai déja mon interface de faite.

    Je l'ai appelé IDC_SETUP.
    IDD_SETUP s' est l'ID de ta boite de dialogue, et IDC_SETUP c'est QUOI??? ça vient d'où??? Et l'interface dont tu parles c'est quoi c'est une autre boite de dialogue ou un bouton ou un contrôle???

    Je ne pige pas bien ton blème!!!

    Si tu as crée ta boite de dialogue et si tu as placé des boutons dedans et si tu as associé une classe CDllDialog avec pour ID IDD_SETUP alors ça DOIT marcher en faisant un DoModal().

  17. #57
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Pardon c'etait bien IDD_SETUP

    En fait si je fais avec le createur de class, il me fait le tout, et il y a mon interface. Mais le probleme c'est que tout reste bloqué. je ne peux pas farmé, je ne peux pas accéder a l'autre fenetre.

    Apres l'autre truc qui marche c'est si je fais avec le tutauriel de farscape sur les fenetre dynamique. La le probleme c'est que je ne sais pas ajouter mon interface dans la fenetre qu'il cré.

    J'ai deux piste, mais les deux bloque.

  18. #58
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    J'ai été clair ou il vaux mieux que je recapitule le tout ?

  19. #59
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    je crois

  20. #60
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Dans une DLL j'ai une interface.

    Afin de la réaliser, je ai créé avec l'outil necessaire un paneau avec des bouton et tout le reste.
    Si je cré ma classe DllDialog avec la classWizard, ca me fais tout, ca me met le panel. Lorsque je teste et que je clique sur le bouton(du projet principal) qui doit ouvrir l'interface, ca me l'ouvre, et ca bloque tout. Pour quitter l'apprication, il me faut faire ctl+alt+sup.

    L'autre solution etait le DynamicDialog de farscape. Le probleme est que je n'arrive pas a ajouter mon paneau. Sinon pour l'instant quant je clique, j'ai un panneau vide. Je ne sais pas ou ajouter le paneau que j'ai fais.


    J'ai deux solution, mais les deux sont bloqué.

    voici la fonction extern que j'ai (que l'on m'a ... car je rame un peu ) fais créé :

    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
     
    // quant je veux faire avec le dinamiqueDialog
    extern "C" void WINAPI AfxShowDlg(CWnd* pParent)
    {
    	AFX_MANAGE_STATE(AfxGetStaticModuleState());
    	//CDllDialog dlg(pParent);
    	CLocalDialog dlg;
    	dlg.SetLocalDialog(0,0,100,200,"essai",pParent);
    	dlg.DoModal();
    }
    // quant je veux faire avec le dialog autogénéré
     
     
    extern "C" void WINAPI AfxShowDlg(CWnd* pParent)
    {
    	AFX_MANAGE_STATE(AfxGetStaticModuleState());
    	CDllDialog dlg(pParent);
    	//CLocalDialog dlg;
    	//dlg.SetLocalDialog(0,0,100,200,"essai",pParent);
    	dlg.DoModal();
    }
    voila je suis bien bloqué la.

Discussions similaires

  1. Affichage des états fenêtre indépendante
    Par froutloops62 dans le forum IHM
    Réponses: 5
    Dernier message: 29/05/2007, 12h12
  2. [Formulaire] fenêtre indépendante
    Par chui1015 dans le forum IHM
    Réponses: 8
    Dernier message: 26/03/2007, 21h24
  3. champ unique dans fenêtre indépendante
    Par burnout69 dans le forum Access
    Réponses: 12
    Dernier message: 07/09/2006, 21h37
  4. Réponses: 4
    Dernier message: 22/05/2006, 15h15
  5. [Configuration] Fenêtres indépendantes ?
    Par Tuscelan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 12/11/2005, 10h28

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