MFC
UpdateData() 함수 Param 의미
leo21c
2023. 7. 7. 10:53
MFC에서 UpdateData()를 사용해서 Control의 값을 변수로 적용하거나 반대로 처리한다.
void etModalProgressThread::UpdateData(BOOL b)
{
etModalProgressDlg * pDlg = (etModalProgressDlg *)m_pMainWnd;
pDlg->m_title = m_title;
pDlg->m_Text = m_Text;
pDlg->SendMessage(UM_MODAL_UPDATEDATA, (WPARAM)b, 0L);
}
https://learn.microsoft.com/en-us/cpp/mfc/dialog-data-exchange?view=msvc-170
Dialog Data Exchange
Learn more about: Dialog Data Exchange
learn.microsoft.com
void CTestDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Check(pDX, IDC_MY_CHECKBOX, m_bVal);
DDX_Text(pDX, IDC_MY_TEXTBOX, m_strName);
DDV_MaxChars(pDX, m_strName, 20);
}
위와 같이 Control 변수와 그 Control의 값의 변수 두개로 선언해서 사용을 할 수가 있다.
- UpdateData() : 기본 값이 TRUE이다. 컨트롤의 값을 변수로 적용
- UpdateData(FALSE): 변수의 값을 컨트롤에 적용.
DDX_Text(pDX, IDC_ED_TEST, m_strEdTest);
DDX_Control(pDX, IDC_ED_TEST, m_crtlEdTest);
UpdateData() 함수를 호출하면 m_ctrlEdTest에 표시되는 Text 값을 m_strEdTest에 넣어준다.
UpdateData(FALSE)를 호출하면 m_strEdTest 값을 m_ctrlEdTest의 Text에 넣어 표시한다.
LIST