1. 程式人生 > >【C++ 學習筆記】 MFC CEdit

【C++ 學習筆記】 MFC CEdit

top 註意 hello lac int 生成 屬性對話框 關聯 額外

環境:VS2008

-關聯變量

方法一:在控件上右鍵-變量-CEdit類型變量-輸入變量名。

方法二:添加代碼

頭文件中定義變量
CEdit m_edit_fileName;

源文件中變量關聯
DDX_Control(pDX, IDC_FILENAME, m_edit_fileName);

-取得文本

取得CEdit中輸入文本的函數:

技術分享
int GetWindowTextA(
LPTSTR lpszStringBuf,
int nMaxCount
) const;
void GetWindowTextA(
CString& rString
) const;
技術分享

-設置文本

設置CEdit中文本的函數:

void SetWindowText(
LPCTSTR lpszString
);

如果要輸入一些自定義的文本,需要使用轉換符(如果你的項目屬性選擇的是Unicode便需要轉換符,如果是多字節便不需要):

m_edit_fileName.SetWindowTextA(_T("Hello world"));

從當前文本往下接,當然要設置CEdit控件的屬性

1. Multiline = true:是CEdit可以自動轉行;

2. Wantreturn = true:使CEdit可以使用"\r\n"轉行。

下面是自動轉行的代碼:

技術分享
m_edit_fileName.ReplaceSel(outputStr);

//ReplaceSel的函數定義:
void ReplaceSel(
   LPCTSTR lpszNewText,
      BOOL bCanUndo = FALSE 
);
技術分享

- 初始化文本

註意:如果是2008的對話框在初始生成的時候沒有了對話框初始化函數,如果你在對話框的構造函數裏為文本框進行初始化就會報錯。需要先加入對話框的初始化函數。

加入對話框初始化函數步驟:

1. 到類視圖下右擊你的對話框類,選擇屬性。

2. 在屬性對話框中選擇重寫項(一個綠色的方塊)

3. 重寫項中有一項叫做OnInitDialog,點擊該項添加即可。

代碼添加:

技術分享
virtual BOOL OnInitDialog();

//初始化對話框
BOOL CDlgPre_LDA::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: 在此添加額外的初始化
m_edit.SetWindowTextA(_T("doc")); //初始化文本(m_edit是關聯到CEdit控件的CEdit變量)


return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁應返回 FALSE
}
技術分享

【C++ 學習筆記】 MFC CEdit