C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Pb de classe MFC

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Sivaler
Guest





PostPosted: Sat Apr 28, 2007 11:54 pm    Post subject: Pb de classe MFC Reply with quote



Bonjour , j'ai joint un projet utilisant une DLL MFC par project1.exe
http://perso.orange.fr/sivaller/powerta.zip

L'évenement OnPaint de la classe CCroix2 n'est jamais appelé !
Le composant Croix2 installé dans la ressource IDC_DIALOG1 s'appelle
IDC_STATIC3.

Pourquoi ça marche pas ?
Comment on fait pour que le controle ID IDC_STATIC3 soit considérer comme le
controle CCroix2 ?


Merci Bcp.
Back to top
Fabien LE LEZ
Guest





PostPosted: Sat Apr 28, 2007 11:54 pm    Post subject: Re: Pb de classe MFC Reply with quote



On Sat, 28 Apr 2007 20:54:18 +0200, "Sivaler" :

Quote:
Bonjour , j'ai joint un projet utilisant une DLL MFC par project1.exe

C'est hors-sujet ici. Tu trouveras des gens compétents sur le sujet
dans le forum fr.comp.os.ms-windows.programmation, et dans la
hiérarchie microsoft.public.*
Back to top
ByB
Guest





PostPosted: Sun Apr 29, 2007 3:33 pm    Post subject: Re: Pb de classe MFC Reply with quote



J'ai envie de hurler à la face du monde que Fabien LE LEZ a dit le
28/04/2007 que
Quote:
On Sat, 28 Apr 2007 20:54:18 +0200, "Sivaler" :

Bonjour , j'ai joint un projet utilisant une DLL MFC par project1.exe

C'est hors-sujet ici. Tu trouveras des gens compétents sur le sujet
dans le forum fr.comp.os.ms-windows.programmation, et dans la
hiérarchie microsoft.public.*

De plus, votre projet ne peut pas être compiler. Voici ce que j'obtiens
avec VC++ 6.0 :

ompiling resources...
C:\powerta\powerta.rc(172) : fatal error RC1015: cannot open include
file 'res\powerta.rc2'.
Error executing rc.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Release\StdAfx.sbr': No
such file or directory
Error executing bscmake.exe.

powerta.dll - 2 error(s), 0 warning(s)

Je vous engage donc à revoir votre fichier zip, et à vous tourner en
effet vers les forums consacrés à la programmation windows, puisque les
MFC sont spécifiques à Microsoft et ne font pas partie du C++ de base.

--
"Pour le pape, le plus dur c'est de ne pas avoir d'homologue avec qui
causer boulot."
(Jean Yanne / 1933-2003)
Back to top
ByB
Guest





PostPosted: Sun Apr 29, 2007 3:34 pm    Post subject: Re: Pb de classe MFC Reply with quote

ByB a émis l'idée suivante :
Quote:
J'ai envie de hurler à la face du monde que Fabien LE LEZ a dit le 28/04/2007
que
On Sat, 28 Apr 2007 20:54:18 +0200, "Sivaler" :

Bonjour , j'ai joint un projet utilisant une DLL MFC par project1.exe

C'est hors-sujet ici. Tu trouveras des gens compétents sur le sujet
dans le forum fr.comp.os.ms-windows.programmation, et dans la
hiérarchie microsoft.public.*

De plus, votre projet ne peut pas être compiler.

Votre projet ne peut pas être compilé (désolé).

--
Verser de l'argent ès mains d'un percepteur ressemble terriblement à
l'opération niaise qui consiste en le jet d'une pareille somme dans un
abîme probablement sans fond.
[Alphonse Allais]
Back to top
Sylvain
Guest





PostPosted: Sun Apr 29, 2007 8:56 pm    Post subject: Re: Pb de classe MFC Reply with quote

Sivaler wrote on 28/04/2007 20:54:
Quote:

L'évenement OnPaint de la classe CCroix2 n'est jamais appelé !

normal, dans le projet joint cette classe n'est jamais utilisée, pas
même présente dans le projet.

pour que Croix soit dessiné, il doit être créé; dans l'""esprit"" MFC
cela peut se faire en subclassant un Static avec votre classe Croix.
pour cela vous devrez définir:

dlg.h
//{{AFX_DATA(CAdelDlg)
enum { IDD = IDD_DIALOG1 };
CCroix2 croix;
//}}AFX_DATA

dlg.cpp
void CAdelDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdelDlg)
DDX_Control(pDX, IDC_STATIC3, croix);
//}}AFX_DATA_MAP
}

Quote:
Le composant Croix2 installé dans la ressource IDC_DIALOG1 s'appelle
IDC_STATIC3.

non, la classe Croix est inconnu de l'éditeur de ressource de VS, la
seule certitude ici est: l'instance de Croix devra utiliser le HWND créé
pour le static d'identifiant IDC_STATIC3

Quote:
Pourquoi ça marche pas ?
Comment on fait pour que le controle ID IDC_STATIC3 soit considérer comme le
controle CCroix2 ?

ci-avant.
Sylvain.
Back to top
Sylvain
Guest





PostPosted: Sun Apr 29, 2007 9:00 pm    Post subject: Re: Pb de classe MFC Reply with quote

ByB wrote on 29/04/2007 12:33:
Quote:

De plus, votre projet ne peut pas être compiler. Voici ce que j'obtiens
avec VC++ 6.0 :
ompiling resources...
C:\powerta\powerta.rc(172) : fatal error RC1015: cannot open include
file 'res\powerta.rc2'.

les rc2 ne servent généralement à rien et c'est le cas ici; il suffit de
commenter l'include.

Quote:
Je vous engage donc à revoir votre fichier zip,

le projet n'est pas en cause pour ce seul rc2 inutile, par contre il
oublie d'utiliser Croix2.? sur qui porte la question.

Quote:
Je vous engage donc à revoir votre fichier zip, et à vous tourner en
effet vers les forums consacrés à la programmation windows, puisque les
MFC sont spécifiques à Microsoft et ne font pas partie du C++ de base.

ça c'est exact.

Sylvain.
Back to top
Sivaler
Guest





PostPosted: Sat May 05, 2007 3:37 pm    Post subject: Re: Pb de classe MFC Reply with quote

Merci mais j'ai trouvé avec DDX_CONTROL
"Sylvain" <noSpam (AT) mail (DOT) net> a écrit dans le message de
news:4634c034$0$27371$ba4acef3 (AT) news (DOT) orange.fr...
Quote:
Sivaler wrote on 28/04/2007 20:54:

L'évenement OnPaint de la classe CCroix2 n'est jamais appelé !

normal, dans le projet joint cette classe n'est jamais utilisée, pas
même présente dans le projet.

pour que Croix soit dessiné, il doit être créé; dans l'""esprit"" MFC
cela peut se faire en subclassant un Static avec votre classe Croix.
pour cela vous devrez définir:

dlg.h
//{{AFX_DATA(CAdelDlg)
enum { IDD = IDD_DIALOG1 };
CCroix2 croix;
//}}AFX_DATA

dlg.cpp
void CAdelDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdelDlg)
DDX_Control(pDX, IDC_STATIC3, croix);
//}}AFX_DATA_MAP
}

Le composant Croix2 installé dans la ressource IDC_DIALOG1 s'appelle
IDC_STATIC3.

non, la classe Croix est inconnu de l'éditeur de ressource de VS, la
seule certitude ici est: l'instance de Croix devra utiliser le HWND créé
pour le static d'identifiant IDC_STATIC3

Pourquoi ça marche pas ?
Comment on fait pour que le controle ID IDC_STATIC3 soit considérer
comme le
controle CCroix2 ?

ci-avant.
Sylvain.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.