-
[MFC] 버튼 ID와 컨트롤 주소를 이용해서 캡션 (Caption) 바꾸기MFC/Visual C++ 2008 2021. 1. 25. 11:13반응형
garage-fullof-dummy.tistory.com/59
위의 포스팅으로 진행해도 버튼 클릭으로 캡션을 바꿀 수 있다.
위의 경우는 버튼의 ID를 알고 있는 경우이다.
*** 버튼의 ID 를 이용하는 경우
프로젝트를 진행하다가 버튼의 ID를 모르는 상태에서 버튼의 ID를 얻어서 이 포스팅에서처럼 버튼 캡션의 이름을 변경해 주는 방법을 알아내서 첨부한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Cbutton_testDlg::OnBnClickedButton1()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
int ctrl_id = GetFocus()->GetDlgCtrlID();
ChangeButtonName(ctrl_id);
}
void Cbutton_testDlg::ChangeButtonName(int ctrl_id)
{
CWnd* m_ptbtn =NULL;
m_ptbtn = GetDlgItem(ctrl_id);
CString temp;
CWnd* m_edit;
m_edit = GetDlgItem((IDC_EDIT1));
m_edit->GetWindowText(temp);
m_ptbtn->SetWindowText(temp);
}
cs 버튼 클릭 처리 함수에는 GetFocus와 GetDlgCtrlID를 이용해서 컨트롤 ID를 얻고,
GetDlgItem을 이용해서 생성된 컨트롤의 주소를 얻어 버튼의 캡션을 바꿔준다.
728x90'MFC > Visual C++ 2008' 카테고리의 다른 글
[MFC] 에디트 컨트롤 GetDlgItemText, SetDlgItemText (0) 2021.01.25 [MFC] 체크 박스 체크 상태 확인 및 활용 (0) 2021.01.25 [MFC]버튼(Button) 클릭으로 캡션 바꾸기 (0) 2021.01.25 [MFC]버튼(Button) 클릭 이벤트 처리하기 (0) 2021.01.25 [MFC] 다이얼로그 메뉴와 버튼에서 띄우기 (0) 2021.01.22