 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Sivaler Guest
|
Posted: Sat Apr 28, 2007 11:54 pm Post subject: Pb de classe MFC |
|
|
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
|
Posted: Sat Apr 28, 2007 11:54 pm Post subject: Re: Pb de classe MFC |
|
|
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
|
Posted: Sun Apr 29, 2007 3:33 pm Post subject: Re: Pb de classe MFC |
|
|
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
|
Posted: Sun Apr 29, 2007 3:34 pm Post subject: Re: Pb de classe MFC |
|
|
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
|
Posted: Sun Apr 29, 2007 8:56 pm Post subject: Re: Pb de classe MFC |
|
|
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
|
Posted: Sun Apr 29, 2007 9:00 pm Post subject: Re: Pb de classe MFC |
|
|
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
|
Posted: Sat May 05, 2007 3:37 pm Post subject: Re: Pb de classe MFC |
|
|
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 |
|
 |
|
|
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
|
|