CMFCEditBrowseCtrl CEdit 文本編輯控件

1繼承關係

CMFCEditBrowseCtrl >>>CEdit >>>CWnd >>>CCmdTarget

官方說明文檔地址:點擊這裏

2.創建方法

控件的使用必先有其對象 對象可以爲其他成員變量 也可以爲堆中的變量,使用指針等關係

class XXX
{

/*省略無關配置*/
//定義一個成員
CMFCEditBrowseCtrl m_Edit;
int OnCreate(LPCREATESTRUCT lpCreateStruct);
}

int XXX::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
//創建一個窗口
RECT rect={10,10,200,20};//顯示的位置
m_Edit.Create(WS_CHILD | WS_VISIBLE, //DWORD設定顯示 風格子窗口|顯示
    rect, // const RECT& 設定顯示位置
    this, //CWnd*設置父窗口
    ID_Search_Edit);//UINT自定義控件ID 消息處理的時候用到

//m_EditBrowse.SetOwner(this); // 功能描述:設置控件所有者,控件的消息將發送給所有者,具體細節請看源碼 afxeditbrowsectrl.cpp 如果不設置所有者,則消息默認發送給父窗口 無特殊需求可以省略此操作
//特殊情況: 此控件消息需要發送消息到父窗口的父窗口裏 或者其他窗口,則需要將接收消息的窗口指針傳入此處 功能上是可行的 但是一般不要將消息傳送到“偏遠”的窗口 以免找不到發送給了誰

}

也可以在堆中創建對象 操作方法類似

class XXX
{

/*省略無關配置*/
//定義一個成員
CMFCEditBrowseCtrl *m_Edit;
int OnCreate(LPCREATESTRUCT lpCreateStruct);
}

int XXX::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
//創建一個窗口
m_Edit=new CMFCEditBrowseCtrl;
RECT rect={10,10,200,20};//顯示的位置
m_Edit->Create(WS_CHILD | WS_VISIBLE, //DWORD設定顯示 風格子窗口|顯示
    rect, // const RECT& 設定顯示位置
    this, //CWnd*設置父窗口
    ID_Search_Edit);//UINT自定義控件ID 消息處理的時候用到

//m_EditBrowse->SetOwner(this); // 功能描述:設置控件所有者,控件的消息將發送給所有者,具體細節請看源碼 afxeditbrowsectrl.cpp 如果不設置所有者,則消息默認發送給父窗口 無特殊需求可以省略此操作
//特殊情況: 此控件消息需要發送消息到父窗口的父窗口裏 或者其他窗口,則需要將接收消息的窗口指針傳入此處 功能上是可行的 但是一般不要將消息傳送到“偏遠”的窗口 以免找不到發送給了誰
}

 

對比優缺點:  在棧中創建對象方便 ,自動銷燬回收控件 方便調用  缺點是棧空間有限

在堆中創建對象,節省棧的空間,但是調用時略微複雜,而且如果需要銷燬 就需要手動銷燬咯  頻繁調用必須要銷燬。

 

 

變動日誌:

2019年9月3日:

  1. 創建本文檔
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章