Do Data Exchange....
如下列所示, 簡單的說就是把Windows 的視窗資源, 如: Button, Edit,
Static, Radio Button...的屬性與資料, 透過DDX與C++的data member
(如CEdit, CButton, 或是一般變數, CString, int, float...) 整合在
一起.
void CxxxDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMultiLanguageDlg)
DDX_Control(pDX, IDC_COMBO1, m_cmbLang);
//}}AFX_DATA_MAP
}
> > 2. 或是物件(CEdit, CButton) vs資源(可以是button, edit....)
> > 假設你有一個CEdit的data member叫m_edtFisrtName,
> > 利用m_edtFisrtName.GetWindowText(strTitle)亦存取資源控制項的文字
> > 前提是你要宣告DDX_Control(...)之類的函式並配合物件函式取值.
> > 3. 利用 GetDlgItemxxx系列的方法(或直接呼叫sdk)存取資料
> > GetDlgItemText顧名思義就是取得對話視窗的某一控制項的文字敘述...
> > ex. GetDlgItemText(IDC_TITLE, strTitle);
> > 這招是前兩式的折衷方案, 不一定需要宣告data member就可以取值;
> > 前提是要知道resource id(IDC_TITLE就是一個名副其實的resource id)
--
包龍星 : 大家聽到了,是他讓打我們才動手的。
師爺 : 這樣的要求,我一輩子都沒聽到過。
--
[m○ Origin: 新竹師院 風之坊﹝bbs.NHCTC.edu.tw﹞From: !211.23.203.218
解除就無法立即更新m_strFirstName的值
> (剛剛試過,可以run,但看不出有什麼不同~)
> (真的很謝謝這個大大不厭其煩的回答,小弟真的是受益良多~*^^*)
--
包龍星 : 大家聽到了,是他讓打我們才動手的。
師爺 : 這樣的要求,我一輩子都沒聽到過。
--
[m○ Origin: 新竹師院 風之坊﹝bbs.NHCTC.edu.tw﹞From: !211.74.119.195