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 d'affichage dans une fenetre CDialog: DoModal!


Sujet :

MFC

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut Problème d'affichage dans une fenetre CDialog: DoModal!
    Salut,

    Bonh peut etre le titre de la discussion n'est pas très explicite!

    Alors, je souhaite afficher des trace en temps réel(lors de l'éxécution d'un programme). Quand l'utilisateur click sur le bouton oui (oui pour dire qu'on souhaite visualiser les traces en temps réel) une fenetre, créée dynamiquement s'affiche ayant un CEdit; c'est dans ce CEdit qu'on va afficher les trace.

    Voici le bout de code qui le fait:
    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
    
    	if  (TRACE_EN_TEMPS_REEL == 1)
    	{	
    	        //tester si la fenetre a été déjà créée
    		if (premiereFois == 0) 
    		{	AfxMessageBox("On va afficher la fenetre");
    			dlg->DoModal();
    
                            //Pour dire que le DoModal a été déjà appelé
    			premiereFois = 1;
    		}
    
    		AfxMessageBox("avant l'appel de afficherTexte");
    		dlg->afficherTrace(chMessage);
    	}

    Ce qui est sur est que j'arrive à afficher la fenetre dlg, mais après plus rien: j'ai l'impression que l'exécution du prog s'arrete au niveau de la ligne "dlg->DoModal();". La preuve est que la ligne en bleu ne fait rien!

    Je pense que c'est un probleme lié au fait que la fenetre est modale. Je suis en train de me renseigner sur les fenetres non modales mais je en vois pas comment l'utiliser dans mon cas.

    Je m'explique d'avantage : le bout de code ci-dessus doit etre appelé chaque fois qu'on écrit une trace (il se trouve dans le coprs d'une boucle while) mais dès le premier appel à ce code, qui correspond d'ailleurs à l'affichage de la fenetre dlg, tout s'arrete et je ne peux meme pas écrire la premiere trace

    Quelqu'un peut m'aider?
    Merci pour toute aide

  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,
    ben oui ,si c'est modale ça s'arrête à l'exécution de domodal, et ça reprend quand la dialogue se ferme...
    il te faut créer une dialogue non modale, faq: http://cpp.developpez.com/faq/vc/?pa...CreateModeless
    et
    http://cpp.developpez.com/faq/vc/?pa...gPostNcDestroy

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Merci pour ta réponse!

    Je suis sur cette piste depuis un moment mais j'ai un pb avec le IDD. Ma fenetre je la crée dynamiquement, donc le IDD je ne l'ai pas .
    J'ai regardé sur le site de microsoft, et je vois qu'au lien de passer le IDD on peut se referer à la fenetre par son titre dont je dispose mais la méthode Create échoue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    pDlg = new CMyDlg(this);
    pDlg->Create(CMyDlg ::IDD,this);
    pDlg->ShowWindow(SW_SHOW);

  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
    et alors elle est bien associée a une ressource non ?

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Bein non: je la crée dynamiquement sans ressource en utilisant d'ailleurs le code disponible dans la FAQ :

    http://cpp.developpez.com/faq/vc/?pa...wToMakeDynamic

  6. #6
    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
    ok , alors ils faut modifier pour utiliser CreateIndirect a la place de InitModalIndirect

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    c'est bon ça marche, je suis arrivé à afficher des traces mais y a un petit souci

    La creation échoue Create renvoie FALSE, la preueve le message "Error creating Dialog" est affiché mais juste après, quand on click sur le bouton ok du MessageBox, la fenetre est affichée je ne comprends pas.
    Est ce que quelqu'un a une explication??
    Voici le 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
    
    
    if  (TRACE_EN_TEMPS_REEL == 1)
    	{		
    		if (premiereFois == 0) 
    		{
    			BOOL ret = dlg->Create("Charge_ccam: traces en temps reel",NULL);
    			if(!ret)   //La création échoue
    				AfxMessageBox("Error creating Dialog");
    
    			//Mais la fenetre est affichée 
                            dlg->ShowWindow(SW_SHOW);
    			premiereFois = 1;
    		}
    
    		//AfxMessageBox("avant l'appel de afficherTexte");
    		dlg->afficherTrace(chMessage);
    	}
    Merci

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Résolu!
    Une boulette de ma part : j'instancie la classe( dlg est l'instance de ma classe) avec un new et puis je fais un appel à Create sur dlg
    Il fallait pas faire le Create.

  9. #9
    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
    Citation Envoyé par vonemya Voir le message
    Résolu!
    Une boulette de ma part : j'instancie la classe( dlg est l'instance de ma classe) avec un new et puis je fais un appel à Create sur dlg
    Il fallait pas faire le Create.
    ben non

  10. #10
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par farscape Voir le message
    ok , alors ils faut modifier pour utiliser CreateIndirect a la place de InitModalIndirect
    Re,

    J'ai fait comme tu m'as dit. J'arrive à afficher les traces dans le CEdit de cette fenetre non modale.

    Mais il y a un petit souci: si, quand les traces sont en train d'etre affcihées, je fais un click sur la fenetre (que ce soit sur un de ses boutons les ascenseurs du CEdit...) le programme plante. Ce qui se passe exactement est que me fenetre ne répond plus (devant le titre de ma fenetre s'ajoute le message "ne répond pas") et toute l'application plante Ce pendant si pas de click tout va bien


    Est ce que quelqu'un a déjà rencontré un problème similaire???

    J'explique vite fait le contexte de mon application:
    J'ai fait un programme qui se connecte à une base de donné pour y faire des traitements. Maintenant je dois faire une interface pour recuperer les données me permettant de me connecter à la base et faire le traitement au meme temps je souhaite afficher les traces en temps réels: donc je fais appel à cette fenetre non modale pour y afficher les traces.

    SVP c'est un peu urgent!

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par vonemya Voir le message
    Re,

    J'ai fait comme tu m'as dit. J'arrive à afficher les traces dans le CEdit de cette fenetre non modale.

    Mais il y a un petit souci: si, quand les traces sont en train d'etre affcihées, je fais un click sur la fenetre (que ce soit sur un de ses boutons les ascenseurs du CEdit...) le programme plante. Ce qui se passe exactement est que me fenetre ne répond plus (devant le titre de ma fenetre s'ajoute le message "ne répond pas") et toute l'application plante Ce pendant si pas de click tout va bien


    Est ce que quelqu'un a déjà rencontré un problème similaire???

    J'explique vite fait le contexte de mon application:
    J'ai fait un programme qui se connecte à une base de donné pour y faire des traitements. Maintenant je dois faire une interface pour recuperer les données me permettant de me connecter à la base et faire le traitement au meme temps je souhaite afficher les traces en temps réels: donc je fais appel à cette fenetre non modale pour y afficher les traces.

    SVP c'est un peu urgent!
    Je pense que le problème vient du fait que j'utilise uns eul processus alors que je dois utiliser des processus: le premier doit gérer les traitement effectués sur la base de données et le second doit gérer toutes les actions faite sur la fenetre d'affichage.

    Je m'explique d'avantage: j'ai un programme qui tourne et qui affiche en temps réel des traces dans un CEdit d'une fenetre CDialog(non modale). En terme de code on a ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    CfenetreAffichageTrace dlg;
     
      while (...)
      {
         ......
         ......
         dlg.ecrireTrace(trace);
         ......
         ......
      }
    Donc, quand on fait une action sur la fenetre dlg, alors que la boucle while est en train d'etre exécutée, le programme plante
    Je me suis dit que peut etre il faut que je fasse un second processus qui gère la fenetre d'affichage. Est ce que quelqu'un peut me dire comment associer un processus à une fenetre pour gérer cette dernière?

  12. #12
    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
    le plus simple est d'avoir un thread de traitement qui met à jour une fenêtre.
    sinon si c'est une boucle il faut laisser respirer l'application:
    http://cpp.developpez.com/faq/vc/?pa...rk#PumpMessage

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    A vraidire le programme n'est pas une boucle, c'était juste pour simplifier mn explication: c'est un programme qui fait des traitement sur des bases de données et il y a un appel très fréquent à la méthode d'affichage des traces d'où l'analogie avec la boucle while.

    Donc, il me faut un thread.

    J'utilse la classe CWorkerThread (utilisation de AfxBeginThread) dont le code se trouve à la FAQ:
    http://cpp.developpez.com/faq/vc/?pa...keWorkerThread

    Le traitement qui se fait dans la méthode CWorkerThread::execute(), consiste en un appel à la méthode PumpMessages() qui est déclarée en tant que méthode public (non static) de la classe de ma fenetre.

    Après avoir effectué des tests je suis sûr que la méthode PumpMessage s'execute en parallele avec les traitements de la base de données ce qui permet à la fenetre d'affichage de traiter les message.

    Mais ça marche pas trop bien. PARFOIS, ça plante quand on click sur la fenetre. La seule explication que j'ai trouvé est que ceci serait dû à un accès concurent à l'instant dlg de la classe définissant la fenetre: le thread principal manipule cette instance en appelant la méthode dlg.ecrireTrace(trace) alors que au meme temps le thread que je crée manipule cette meme instance, au meme temps, en appelant dlg.PumpMessages().
    Cela pourrait il etre la cause de ce crash?

    Je suis en train d'essayer d'utiliser des verrous mais je ne sais pas si ça peut etre la (ou une) solution de mon problème.

    Merci!

  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
    la dialogue ne doit pas être crée dans le thread
    si l'appel se fait à partir d'une interface (dialogue par exemple).
    tu créés ta dialogue non modal par un new ,tu stocks le pointeur dans l'interface en tant que donnée membre.
    Au moment de l'AfxBeginThread tu fournis un pointeur de l'interface au thread.
    dans le thread tu as donc accès a l'interface et au pointeur sur la dialogue non modale.

  15. #15
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Le dialogue n'est pas créé dans le thread!

    Le dialogue c'est une variable globale (créée par new)donc meme les méthodes de la classe CWorkerThread ont accès à cette instance, ce qui est équivalent à ce que tu me dis de faire. Mais ça plante!

  16. #16
    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
    ça plante en debug ? et en release?
    si tu relis la faq :on ne peut accéder à des objets gui MFC à partir d'un thread de travail.
    on utilisera un message privé, ça c'est la méthode standard.
    la méthode non officielle :l'accès aux objets gui MFC ne fonctionne pas en debug mais en release oui.
    d'ou ma question plus haut.

  17. #17
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par farscape Voir le message
    ça plante en debug ? et en release?
    si tu relis la faq :on ne peut accéder à des objets gui MFC à partir d'un thread de travail.
    on utilisera un message privé, ça c'est la méthode standard.
    la méthode non officielle :l'accès aux objets gui MFC ne fonctionne pas en debug mais en release oui.
    d'ou ma question plus haut.
    Mais qui va va éxecuter la routine correspondante au message privé envoyé. Est ce le thread qui l'a envoyé?

  18. #18
    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

  19. #19
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Je veins d'adapter mon code pour utiliser les message privés.

    Alors ce que je fais est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    BEGIN_MESSAGE_MAP(CMfenetre, CDialog)
    	//{{AFX_MSG_MAP(CMfenetre)
    	// NOTE: the ClassWizard will add message map macros here
    	ON_BN_CLICKED(IDC_BOUTON, OnBouton)
    	ON_MESSAGE(WM_TEST, OnQuitterModeAffichage)
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()

    Donc quand on click sur le bouton IDC_BOUTON, on appelle la méthode OnBouton dont la definition est la suivante:*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        void CMafenetre::OnBouton()
        {
         AfxBeginThread(TheThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL) ;
        }
     
     
        //le définition de TheThread 
        UINT TheThread(LPVOID pParam)
       {
        ::SendMessage((HWND)pParam,WM_TEST,0,0) ;
        return 0 ;
       }
    Donc si je t'ai bien compris quand on click sur le bouton le message privé sera envoyé et on appellera donc OnQuitterModeAffichage qui sera exécuter par le thread crée par AfxBeginThread(). C ça??

    Je viens de tester mais ça marche toujours pas: je click sur le bouton mais rien ne se passe et l'appli plante

    Peut etre que j'ai pas bien compris comment utiliser le message privé pour pallier à mon pb! Help please

  20. #20
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut
    Je viens de regarder ça de plus près.
    déjà le fait d'intercepter le message suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //OnBouton appelle AfxBeginThread(...)
    ON_BN_CLICKED(IDC_BOUTON, OnBouton)
    nécessite un traitement par le processus en cours, le second n'étant pas encore crée par AfxBeginThread(). Donc ce message est mis en attente, d'autre message éttouferont l'application.
    A mon avis le message privé ne peut pas résoudre mon problème à moins que je l'ai mal utilisé


    Tu disais un peu plus haut que "on ne peut accéder à des objets gui MFC à partir d'un thread de travail."
    Je viens de faire un petit test: J'utilise la classe CWorkerThread (utilisation de AfxBeginThread)

    Dans la routine execute() j'appelle la méthode PumpMessage() que j'ai déclaré en tant que fonction membre de la classe de ma fenetre(l'instance de cette dernière est globale donc on peut l'appeller dans execute()).
    Avec un AfxMessageBox() placée à l'interieur du code de PumpMessages, je vois que cette dernière fonction est bel et bien appelée.
    Cela prouve,donc, que j'ai accédé à l'objet MFC qui est l'instance dlg de la classe définissant ma fenetre d'affichage: l'appel dlg->PumpMessages() réussit.


    Ainsi de cette manière, le thread que je crée appel en boucle (c la boucle de execute de CWorkerThread) le méthode PumpMessage() ce qui signifie, si je ne me trompe pas, que l'application "peut respirer"(traiter tous les message instantanément) mais ça plante toujours


    J'avous que je ne comprends plus rien

    Need Help Please!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/02/2014, 09h00
  2. Affichage dans une fenetre
    Par mamadou_76 dans le forum Hibernate
    Réponses: 2
    Dernier message: 31/05/2007, 12h11
  3. [MySQL] problème d'affichage dans une liste
    Par bromlecornu dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 23/05/2007, 16h08
  4. Affichage dans une Fenetre edit
    Par Fred2209 dans le forum C++Builder
    Réponses: 6
    Dernier message: 20/11/2006, 10h39
  5. Problème d'affichage dans une zone de "dessin"
    Par jason69 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 28/08/2006, 16h12

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