一、介紹
MFC(Microsoft Foundation Classes)Edit控件是Windows操作系統提供的一種文本編輯器控件,可以被應用程序嵌入,使用戶可以在程序中進行文本輸入、編輯和查看等操作。
本文將從控件的創建、消息響應、屬性設置等方面進行詳細的闡述,並提供相應的代碼示例。
二、基本使用
創建MFC Edit控件一般步驟如下:
1、在對話框編輯器中拖拽Edit控件,或者通過CDialog::CreateWindowEx()方法動態創建;
2、在代碼中獲取控件的指針;
3、設置控件屬性和關聯事件。
//創建控件
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_edit.Create(WS_VISIBLE|WS_CHILD|ES_AUTOHSCROLL|ES_LEFT,
CRect(10,10,200,30), this, IDC_EDIT_CTRL);
//獲取指針
GetDlgItem(IDC_EDIT_CTRL, &m_edit);
//設置默認文本
m_edit.SetWindowText(_T("Hello world!"));
return TRUE;
}
以上代碼會在窗口中創建一個寬度為190,高度為20的Edit控件,控件ID為IDC_EDIT_CTRL,初始文本為“Hello world!”。
三、消息響應
Edit控件的常見消息有:
- EN_CHANGE:當控件內容發生改變時觸發。
- EN_SETFOCUS:控件獲得焦點時觸發。
- EN_KILLFOCUS:控件失去焦點時觸發。
通過重載CWnd類的OnEnChange()、OnEnSetFocus()、OnEnKillFocus()等函數可以響應不同的消息事件。
//消息響應函數
void CMyDlg::OnEnChangeEditCtrl()
{
CString strText;
//獲取控件文本
m_edit.GetWindowText(strText);
AfxMessageBox(strText);
}
以上代碼會在Edit控件內容發生變化時彈出一個消息框顯示當前文本內容。
四、屬性設置
MFC Edit控件常見的屬性包括:
- ReadOnly:只讀屬性,設置為TRUE則不能編輯。
- PasswordChar:密碼符號屬性,可以將用戶輸入的文本顯示為指定字符,常用於密碼輸入框。
- LimitText:文本長度限制屬性,可以限制用戶輸入的文本長度。
- Font:控件字體屬性,可以設置控件顯示的字體、大小、顏色等。
//屬性設置
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_edit.Create(WS_VISIBLE|WS_CHILD|ES_AUTOHSCROLL|ES_LEFT,
CRect(10,10,200,30), this, IDC_EDIT_CTRL);
//獲取指針
GetDlgItem(IDC_EDIT_CTRL, &m_edit);
//設置默認文本
m_edit.SetWindowText(_T("Hello world!"));
//設置只讀
m_edit.SetReadOnly(TRUE);
//設置密碼符號
m_edit.SetPasswordChar('*');
//設置文本長度限制
m_edit.LimitText(50);
//設置字體
CFont font;
font.CreatePointFont(12, _T("Arial"));
m_edit.SetFont(&font);
return TRUE;
}
以上代碼會在Edit控件創建時設置控件為只讀,文本顯示為“*”符號,限制最大文本輸入長度為50個字符,並設置字體為Arial,大小為12。
五、總結
MFC Edit控件可以實現在程序中進行文本輸入與編輯功能。本文從控件的創建、消息響應、屬性設置等方面進行了詳細的闡述,希望對讀者有所幫助。
原創文章,作者:ZSJNG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/368347.html