Manuelles Hinzufügen von Steuerelementen
Sie können entweder die Fügen Sie Steuerelemente einem Dialogfeld mit dem Dialog-Editor hinzu oder hinzuzufügen sie sich, mit Code.
Um ein Steuerobjekt sich erstellen, müssen Sie normalerweise das C++-Steuerobjekt im Dialogfeld- oder Rahmenfensterobjekt eine C++-Headerdatei ein. Wie bei vielen anderen Objekte im Framework, benötigen Steuerelemente zweistufige Konstruktion. Sie sollten die Erstellen-Memberfunktion des Steuerelements als Teil des Erstellens des übergeordneten Dialogfeld oder des Rahmenfensters aufrufen. Weitere Dialogfelder wird dies normalerweise in OnInitDialog und für Rahmenfenster, in OnCreate erreicht.
Das folgende Beispiel zeigt, wie Sie ein CEdit-Objekt in der Klassendeklaration einer abgeleiteten Dialogfeldklasse deklarieren und anschließend die Erstellen-Memberfunktion in OnInitDialog aufgerufen haben. Da das CEdit-Objekt als eingebettetes Objekt deklariert ist, wird es automatisch erstellt, wenn das gleichzeitig erstellt wird, jedoch muss mit einer eigenen Erstellen-Memberfunktion noch initialisiert werden.
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
Die folgende OnInitDialog-Funktion installiert ein Rechteck, ruft Erstellen auf, um das Windows-Bearbeitungssteuerelement zu erstellen und es an nicht initialisierten CEdit-Objekt anfügen.
BOOL CCustomDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect(85, 110, 180, 210);
m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
ES_AUTOHSCROLL | WS_BORDER, rect, this, IDC_EXTRA_EDIT);
m_edit.SetFocus();
return FALSE;
}
Nachdem Sie das Bearbeitungsobjekt erstellt haben, können Sie den Eingabefokus auf das Steuerelement festlegen, indem Sie die SetFocus-Memberfunktion aufrufen. Abschließend geben Sie 0 von OnInitDialog zurück, um anzugeben dass legen Sie den Fokus. Wenn Sie einen Wert ungleich 0 (null) zurückgeben, legt der Dialogfeldmanager den Fokus auf das erste Steuerelement in der Dialogfeldelementliste fest. In den meisten Fällen werden Steuerelemente den Dialogfeldern mit dem Dialog-Editor hinzufügen.
Siehe auch
Referenz
Erstellen und Verwenden von Steuerelementen