CEditCtrl and OnEnChangeEdit()

今天研究的功能是要怎麼根據判斷 CEdit 中是否有值來 Enable / Disable Button

2014-10-23-01 2014-10-23-02

 

[實作過程]

首先當然先得新增好 CEdit 和 CButton 控件

這是待會程式碼將會用到的三個變數,是透過 MFC Class Wizard 建好的

CString folderName;
CEdit m_ceFdName;
CButton m_cbOK;

 

接下來在你想觀察的 CEdit 上按右鍵選擇加入事件處理常式,並且將訊息類型設定為 EN_CHANGE

2014-10-23-03

2014-10-23-04

 

接下來就可以開始實作程式碼內容:

void CFolderDlg::OnEnChangeEdit()
{
	// Check wether the folder name is empty
	m_ceFdName.GetWindowText(folderName);
	if(!folderName.IsEmpty())
		m_cbOK.EnableWindow(TRUE);
	else 
		m_cbOK.EnableWindow(FALSE);
}

這樣就完成好自動偵測 CEdit 內容以及動態改變 CButton 狀態的功能囉~!!

 

[參考資料]

1. Visual C++ – MFC how to change disablity of a button using edit box