본문 바로가기

Enginius/C / C++

[MFC] Radio Button, Edit Box, Check Box, CString2char*

 MFC 에서 거의 매번 사용되는 Radio Button, Edit Box, Check Box를 다시 정리해보자.

1. Radio Button 

 - 버튼 설정: 

   CButton* pButton = (CButton*)GetDlgItem(IDC_RADIO_1);

   pButton->SetCheck(true);

   delete pButton;

 - 버튼 해재:

   CButton* pButton = (CButton*)GetDlgItem(IDC_RADIO_2);

   pButton->SetCheck(true);

   delete pButton;


2. Edit Box

 - 에디트 박스의 값을 읽어온다. 그리고 더블로 가져온다. 

   CString str;

   double val;

   GetDlgItem(IDC_EDIT_INPUT_1)->GetWindowText(str);

   val = _wtof(str);

 - 에디트 박스에 쓴다. 

   1. CString m_strEdit; 변수를 추가한다. 

   2. m_strEdit1.Format(_T(""));

   3. UpdateData(FALSE);

 - 에디트 박스에 쓴다. 2

   CString str;

   str.Format(L"IN");

   GetDlgItem(IDC_EDIT_INPUT_!)->SetWindowText(str); 

 - 에디트 박스 쓸 수 있게 바꾼다. 

   GetDlgItem(IDC_EDIT_INPUT_1)->SendMessage(EM_SETREADONLY, 0, 0);

 - 에디트 박스 읽기 전용으로 바꾼다. 

   GetDlgItem(IDC_EDIT_INPUT_1)->SendMessage(EM_SETREADONLY, 1, 0);


3. Check Box

 - 더블 클릭해서 콜백 함수 만들어서 사용. 

 - 버튼 설정: CheckDlgButton(IDC_CHECK_1, true);

 - 버튼 해재: CheckDlgButton(IDC_CHECK_2, false); 


4. CString -> const char*

 - 이건 맨날 헛갈려서 정리하는 것

 - CString m_strPath;

    char charPtr[100];

    sprintf(charPtr, "%S", m_strPath);