Button 이란 말 그대로 무언가 눌러서 상호작용을 할 수 있는 컨트롤을 말합니다.
버튼 컨트롤 생성
도구 상자에서 Button 컨트롤을 하나 만듭니다.
버튼 컨트롤에서 가장 많이 쓰이는 속성은 위의 4가지 입니다.
속성 (한글) | 속성 (영어) | 설명 |
가로 맞춤 | Horizontal Alignment | 캡션의 가로 정렬 방식 |
세로 맞춤 | Vertical Alignment | 캡션의 세로 정렬 방식 |
여러 줄 | Multiline | 개행 기호(\n)를 이용하여 여러줄의 캡션 사용 |
캡션 | Caption | 버튼에 표시되는 글자 |
아래의 사진을 보시면 대충 속성들이 어떤 역할을 하는지 알게 됩니다.
버튼 이벤트 사용
버튼에서 가장 많이 쓰이는 이벤트는 바로 클릭 이벤트 입니다.
BN_CLICKED라는 이벤트 입니다.
버튼 클릭 이벤트의 경우에는 버튼을 클릭하고나서 마우스를 버튼에서 떼면 발생하는 이벤트입니다.
(MouseUp 이벤트라고 생각하시면 됩니다.)
버튼 클릭 이벤트를 생성하는 방법은 크게 3가지 입니다.
속성에서 BN_CLICKED를 눌러서 함수를 추가하는 방법이 있으며
버튼을 오른쪽 클릭하여 "클래스 마법사"를 띄웁니다.
여기서 "개체 ID"에서 버튼을 찾고 "메시지"에서 BN_CLICKED를 선택하여 처리기를 추가하는 방법이 있으며
가장 쉬운 방법은 버튼 클릭에 한정하여
실제로 에디트 창에서 버튼을 더블클릭 하면 자동으로 이벤트 함수가 생기면서 코드 창으로 넘어가게 됩니다.
#pragma once
class CMFC노리터Dlg : public CDialogEx
{
public:
// ... 생략 ...
afx_msg void OnBnClickedButton1(); // <-- 버튼 클릭 이벤트
};
버튼 클릭 이벤트는 void형의 인자가 없는 함수입니다.
BEGIN_MESSAGE_MAP(CMFC노리터Dlg, CDialogEx)
// ... 생략 ...
ON_BN_CLICKED(IDC_BUTTON1, &CMFC노리터Dlg::OnBnClickedButton1) // 버튼 클릭 이벤트
END_MESSAGE_MAP()
메시지 맵은 "ON_BN_CLICKED"로 정의됩니다.
버튼을 클릭하면 메시지가 나오도록 해봅시다.
void CMFC노리터Dlg::OnBnClickedButton1()
{
MessageBox(_T("버튼을 클릭하였습니다."), _T("경고"));
}
프로그램 실행
'Study > MFC' 카테고리의 다른 글
[MFC] Combo Box 컨트롤 (콤보 박스) (0) | 2022.03.05 |
---|---|
[MFC] Button 컨트롤 - 색상 변경 (0) | 2022.02.17 |
[MFC] Tab 컨트롤 (0) | 2022.02.05 |
[MFC, ATL]레지스트리 읽기, 쓰기 (CRegKey) (0) | 2021.07.23 |
[MFC Active X] 글자를 출력하는 컨트롤 만들기 (0) | 2021.07.22 |