FormView et les MFC

cs_djflex Messages postés 2 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 10 janvier 2004 - 10 janv. 2004 à 17:48
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 11 janv. 2004 à 18:57
Salut,
une petite question, je pense que vous savez qu'en utilisant les MFC on peut batir un projet SDI ou MDI basée sur CFormView ce qui fait qu'on obtient une fiche qui ressemble presque à une boite de dialogue.
Mais est-ce qu'il y a un moyen pour supprimer "l'ancrage" de la FormView dans la vue, ce qui permettrait d'obtenir une fiche qui ressemble à une boite de dialogue "plate" si je puis dire (en gros comme quand on ouvre VB ou Delphi, on a une fiche avec rien dessus) ?
Merci

8 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
10 janv. 2004 à 20:39
Je ne sais pas si c'est le résultat que tu veux mais essaie :

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;

dans PreCreateWindow de MainFrame et TestView

après avoir appelée fonction classe de base
0
cs_djflex Messages postés 2 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 10 janvier 2004
10 janv. 2004 à 22:45
" après avoir appelée fonction classe de base " ?
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
10 janv. 2004 à 22:50
Dans ClassWizard, sélectionne la classe dérivant de CFormView et ajoute la fonction PreCreateWindow :

dans le code faire la modif :

BOOL CTestView::PreCreateWindow(CREATESTRUCT& cs)
{
if(!CFormView::PreCreateWindow(cs))
return FALSE;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
return TRUE;
}

idem pour MainFrame
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 janv. 2004 à 23:51
ymca2003 je pense qu'il serait plus utile de modifier cs avant d'appeler CFormView::PreCreateWindow(cs), non?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 janv. 2004 à 13:50
Non car dans le traitement par défaut, le style WS_EX_CLIENTEDGE est ajouté donc si on veut l'enlever, il faut le faire après avoir appeler CFormView::PreCreateWindow.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 janv. 2004 à 14:53
Le problème c'est que si lu fait après ca ne sert a rien puisque ta fenêtre est déja crée
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 janv. 2004 à 18:52
Non PreCreateWindow est appelé et retourne AVANT que la fenêtre soit créée (d'ou le nom)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 janv. 2004 à 18:57
Tu avais raison, il faut modifier cs après l'appel, capendant il y a encoore quelque chose qui m'échappe: Create est appelée avant PreCreateWindow, donc quelle est exactement la fonction de Create?
0
Rejoignez-nous