Après avoir travaillé en C# pendant des années, je suis revenu à une ancienne application MFC que j'ai écrite. Mais il semble que j'ai besoin d'un rappel sur quelques points.Variable de boîte de dialogue - Aucune entrée ajoutée à DoDataExchange()
J'ai ajouté un contrôle case à cocher à une boîte de dialogue existante. J'ai ensuite utilisé Class Wizard pour ajouter une variable sans contrôle de type bool
. La variable a été créée comme prévu.
Cependant, je ne vois aucune entrée a été ajoutée à la méthode DoDataExchange()
. Et quand j'ai essayé d'ajouter manuellement:
DDX_Check(pDX, IDC_PRINT_SUMMARY, m_bPrintSummary);
Je reçois l'erreur IntelliSense:
a reference of type "int &" (not const-qualified) cannot be initialized with a value of type "bool"
1. Pourquoi pas une entrée dans DoDataExchange()
créé pour moi quand j'ai ajouté la variable?
2. Si DDX_Check()
et attend int &
, pourquoi la classe par défaut Wizards de type bool
pour une valeur de case à cocher?
Alors, ma question est toujours la suivante: pourquoi la variable d'une case à cocher est-elle par défaut 'bool'? –
C'est un bug. Je pense que c'était par défaut à BOOL, ce qui aurait bien fonctionné (si un peu trompeur). – snowdude