Accesso indipendente dai tipi a controlli con creazioni guidate codice
Se si ha familiarità con le funzionalità DDX, è possibile utilizzare la proprietà Control nella Procedura guidata Aggiungi variabile membro per creare un accesso indipendente dai tipi. Questo approccio è più semplice rispetto alla creazione di controlli senza procedure guidate di codice.
Se si vuole semplicemente accedere al valore di un controllo, DDX lo fornisce. Se si desidera eseguire più operazioni di accesso al valore di un controllo, utilizzare la Procedura guidata Aggiungi variabile membro per aggiungere una variabile membro della classe appropriata alla classe dialog. Allegare questa variabile membro alla proprietà Control.
Le variabili membro possono avere una proprietà Control anziché una proprietà Value. La proprietà Value fa riferimento al tipo di dati restituiti dal controllo, ad esempio CString
o int
. La proprietà Control consente l'accesso diretto al controllo tramite un membro dati il cui tipo è una delle classi di controllo in MFC, ad esempio CButton
o CEdit
.
Nota
Per un determinato controllo, è possibile, se lo si desidera, avere più variabili membro con la proprietà Value e al massimo una variabile membro con la proprietà Control. È possibile eseguire il mapping di un solo oggetto MFC a un controllo perché più oggetti collegati a un controllo o a qualsiasi altra finestra comportano un'ambiguità nella mappa messaggi.
È possibile utilizzare questo oggetto per chiamare qualsiasi funzione membro per l'oggetto di controllo. Tali chiamate influiscono sul controllo nella finestra di dialogo. Ad esempio, per un controllo casella di controllo rappresentato da una variabile m_Checkbox, di tipo CButton
, è possibile chiamare:
m_Checkbox.SetCheck(BST_CHECKED);
In questo caso, la variabile membro m_Checkbox ha lo stesso scopo della funzione GetMyCheckbox
membro illustrata in Type-Cassaforte Access to Controls Without Code Wizards ( Accesso ai controlli senza creazione guidata codice). Se la casella di controllo non è una casella di controllo automatica, è comunque necessario un gestore nella classe della finestra di dialogo per il messaggio di notifica del controllo BN_CLICKED quando si fa clic sul pulsante.
Per altre informazioni sui controlli, vedere Controlli.
Vedi anche
Accesso indipendente dai tipi ai controlli in una finestra di dialogo
Utilizzo delle finestre di dialogo in MFC
Accesso indipendente dai tipi ai controlli senza creazioni guidate codice