.


:




:

































 

 

 

 


DDX




19

: Cedit. CListBox

1. CEdit

2. DDX

3. CListBox

4.

5.

 

CEdit

(edit control), CEdit, , . , . , , , (MLE multiline edit) , , . , . , . , .

CEdit 60 . CEdit ' , ' 60 , CRichEditCtrl.

 

DDX

" DDX " DDX 䳿 . , DDX - . , , , DDX.

, () , ', Add Variable ( ). Add Member Variable Wizard, . Control variable (, ), DDX (DDX control variable), DDX (DDX value variable). , , . , -, . Visual Studio, , CString , : CString. ' , m_strTo, Finish ().

, . ³ editdlg.h - m__strTo. , - (public):

 

public: CString m_strTo;

 

editdlg.c CEditDlg. - (initializer list) :

 

CEditDlg::CEclitDlg (CWnd* pParent/*=NULL*/):CDialog(CEditDlg::IDD

pParent), m strTo(L"")

{

}

 

, . DoDataExchange. , DDX, UpdateData, , , , 䳿 . , DoDataExchange, UpdateData, DDX.

DoDataExchange. DDX_Control, , DDX_Text:

 

void CEditDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Text(pDX, IDC EDIT1, m strTo);

}

 

ϳ , , , - . , DDX_Text 37 ! , byte, short, int CString. , COleCurrency COleDataTime.

DDX_Text, , PrepareEditCtrl m_bSaveAndValidate TRUE, ( SDK. Win32 GetWindowText) . m_bSaveAndValidate FALSE, : , .

MFC Win32::SetWindowText AfxSetWindowText. г , AfxSetWindowText , . , , , . , MFC .

 

void AFXAPI DDX_Text(CDataExchange* pDX, int nIDC, CStringi value)

{

HWND hWndCtrl = pDX->PrepareEditCtrl (nIDC);

if (pDX->m_bSaveAndValidate) {

int nLen =::GetWindowTextLength(hWndCtrl);

::GetWindowText(hWndCtrl,value.GetBufferSetLength(nLen),nLen+1);

value.ReleaseBuffer ();

}

else { AfxSetWindowText(hWndCtrl, value); }

}

 

; " CDataExchange: m_bSaveAndValidate?" UpdateData. UpdateData , bSaveAndValidate, : (bSaveAndValidate = FALSE) , (bSaveAndValidate = TRUE).

, DDX .

- , . OnlnitDialog , , , UpdateData (FALSE).

- - , UpdateData(TRUE).

- 䳿 CDialog::OnOK UpdateData (TRUE). , , , DoModal, .

 





:


: 2016-11-12; !; : 388 |


:

:

, ; , .
==> ...

1869 - | 1644 -


© 2015-2024 lektsii.org - -

: 0.012 .