以手動方式加入控制項

您可以加入控制項,以便使用對話方塊編輯器的對話方塊或將它們新增您自己,與程式碼。

若要自行建立控制項物件,您通常會內嵌 C++ 控制項物件在 C++ 對話方塊或框架視窗物件。如同在架構中其他許多物件,控制項需要兩階式建構。您應該呼叫控制項的建立成員函式,在建立父對話方塊或框架視窗。標籤的對話方塊,通常會 OnInitDialog,以及框架視窗,在 OnCreate

下列範例會示範您可能會宣告CEdit衍生的對話方塊類別的類別宣告中的物件,然後呼叫建立成員函式,在OnInitDialog。因為CEdit物件宣告成內嵌的物件,它會自動建構當建構對話方塊物件時,但仍必須先初始化它自己的建立成員函式。

class CCustomDialog : public CDialog
{
   CEdit m_edit;
   virtual BOOL OnInitDialog();
};

下列OnInitDialog函式會設定矩形,然後呼叫建立建立視窗的編輯控制項,並將它附加至未初始化CEdit物件。

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;
}

建立編輯物件後,您也可以設定輸入的焦點至控制項藉由呼叫SetFocus成員函式。最後,將 0 的OnInitDialog以顯示您將焦點設定。如果您傳回非零值,對話方塊管理員會將焦點設定在對話方塊的 [項目] 清單中的第一個控制項項目。在大多數情況下,請使用對話方塊編輯器時,將控制項加入至您的對話方塊。

請參閱

參考

製作和使用控制項

CDialog::OnInitDialog

概念

控制項 (MFC)