본문 바로가기
MFC

UpdateData() 함수 Param 의미

by leo21c 2023. 7. 7.
SMALL

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