[c++] 그래픽 사용자 인터페이스 구성 요소
이 문서는 C++로 그래픽 사용자 인터페이스(GUI)를 만들 때 사용되는 일반적인 구성 요소에 대해 다룹니다.
윈도우
윈도우는 사용자 인터페이스를 구성하는 기본 요소로, 응용 프로그램의 창을 나타냅니다. C++에서 윈도우를 만들기 위해서는 WinAPI나 MFC(Microsoft Foundation Classes)와 같은 프레임워크를 사용할 수 있습니다.
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
// 윈도우 생성 및 처리 코드
return 0;
}
버튼
버튼은 사용자가 클릭하여 상호 작용할 수 있는 요소입니다. 예를 들어, “확인”이나 “취소”와 같은 기능을 가진 버튼을 만들 수 있습니다.
HWND hWndButton = CreateWindow(
"BUTTON", // 윈도우 클래스
"확인", // 버튼 텍스트
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, // 스타일
10, 10, 100, 50, // 위치 및 크기
hWnd, (HMENU)IDC_BUTTON, hInst, NULL // 부모 윈도우 및 식별자
);
텍스트 상자
텍스트 상자는 사용자가 텍스트를 입력할 수 있는 상자로, 주로 데이터 입력을 받을 때 사용됩니다.
HWND hWndTextBox = CreateWindow(
"EDIT", // 윈도우 클래스
"", // 초기 텍스트
WS_TABSTOP | WS_VISIBLE | WS_CHILD | WS_BORDER | ES_AUTOHSCROLL, // 스타일
10, 70, 200, 25, // 위치 및 크기
hWnd, (HMENU)IDC_TEXTBOX, hInst, NULL // 부모 윈도우 및 식별자
);
콤보 상자
콤보 상자는 드롭다운 목록을 표시하는 요소로, 사용자가 목록에서 항목을 선택할 수 있습니다.
HWND hWndComboBox = CreateWindow(
"COMBOBOX", // 윈도우 클래스
"", // 초기 텍스트
CBS_DROPDOWN | WS_VISIBLE | WS_CHILD | WS_BORDER, // 스타일
10, 130, 150, 200, // 위치 및 크기
hWnd, (HMENU)IDC_COMBOBOX, hInst, NULL // 부모 윈도우 및 식별자
);
체크 박스
체크 박스는 사용자가 하나 이상의 항목을 선택할 수 있는 상자로, 활성화되었는지 여부를 나타냅니다.
HWND hWndCheckBox = CreateWindow(
"BUTTON", // 윈도우 클래스
"옵션 1", // 체크 박스 텍스트
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, // 스타일
10, 180, 100, 30, // 위치 및 크기
hWnd, (HMENU)IDC_CHECKBOX, hInst, NULL // 부모 윈도우 및 식별자
);
라디오 버튼
라디오 버튼은 여러 개의 항목 중에서 단 하나의 항목을 선택할 수 있는 버튼입니다. 보통 여러 옵션 중에서 하나를 선택할 때 사용됩니다.
HWND hWndRadio = CreateWindow(
"BUTTON", // 윈도우 클래스
"옵션 1", // 라디오 버튼 텍스트
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_AUTORADIOBUTTON, // 스타일
10, 230, 100, 30, // 위치 및 크기
hWnd, (HMENU)IDC_RADIO1, hInst, NULL // 부모 윈도우 및 식별자
);
이 문서에서는 C++에서 그래픽 사용자 인터페이스(GUI)를 만들 때 사용되는 일반적인 구성 요소에 대해 소개하였습니다. GUI 개발에 있어 이러한 구성 요소들을 활용하여 사용자 친화적인 인터페이스를 설계할 수 있습니다.
참고문헌:
- https://docs.microsoft.com/en-us/windows/win32/controls/button-types-and-styles
- https://docs.microsoft.com/en-us/windows/win32/controls/edit-controls
- https://docs.microsoft.com/en-us/windows/win32/controls/comboboxes
- https://docs.microsoft.com/en-us/windows/win32/controls/radio-buttons-and-checkboxes