Débutant MFC : comment faire pour "enable/disable" des contrôles

cs_robby Messages postés 7 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 15 février 2002 - 15 janv. 2002 à 22:12
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 - 27 août 2004 à 11:00
Bonjour!

J'ai vu qu'en MFC certaines API ont une autre syntaxe et je n'arrive pas à trouver comment on peut activer/ désactiver un contrôle.

Avant je faisais :
EnableWindow(GetDlgItem(hDlg, Nom_du_controle), FALSE);

En MFC, cette même fonction est du type EnableWindow( BOOL ) et active/désactive la fenêtre entière... et moi je veux agir sur un contrôle uniquement.

Si vous pouvez m'aider ça serait super sympa!

Merci a+!

4 réponses

cs_jpeg Messages postés 40 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 25 février 2004 1
16 janv. 2002 à 09:18
Sous MFC, la fonction EnableWindow est une méthode de la classe CWnd. Or c'est de cette classe qu'héritent tous les contrôles : CComboBox, CEdit ...
Donc, en toute logique, tu dois pouvoir faire :

monObjet.EnableWindow(TRUE/FALSE);
0
cs_robby Messages postés 7 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 15 février 2002
16 janv. 2002 à 20:18
-------------------------------
Réponse au message :
-------------------------------

Sous MFC, la fonction EnableWindow est une méthode de la classe CWnd. Or c'est de cette classe qu'héritent tous les contrôles : CComboBox, CEdit ...
Donc, en toute logique, tu dois pouvoir faire :

monObjet.EnableWindow(TRUE/FALSE);

-------------------------------
Réponse au message :
-------------------------------

Bonjour!

J'ai vu qu'en MFC certaines API ont une autre syntaxe et je n'arrive pas à trouver comment on peut activer/ désactiver un contrôle.

Avant je faisais :
EnableWindow(GetDlgItem(hDlg, Nom_du_controle), FALSE);

En MFC, cette même fonction est du type EnableWindow( BOOL ) et active/désactive la fenêtre entière... et moi je veux agir sur un contrôle uniquement.

Si vous pouvez m'aider ça serait super sympa!

Merci a+!
0
cs_robby Messages postés 7 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 15 février 2002
16 janv. 2002 à 20:28
Merci beaucoup jpeg! Je viens de découvrir qu'en plus on peut attribuer plusieurs varibles au même contrôle via Class Wizard... Donc je peux mettre à la fois une variable membre pour les données et une autre pour manipuler le contrôle...

Désolé d'embêter tout le monde mais c'est pas évident d'apprendre le MFC tout seul!

Merci encore!
0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
27 août 2004 à 11:00
Vu la date de la derniere post c'est surement trops tard, mais tu as aussi la possiblité de faire :

::EnableWindow(::GetDlgItem(m_hwnd,nom_du_control),true);

ca t'evite de créer des variables inutiles ....

MisterMok
0
Rejoignez-nous