MFC(Microsoft Foundation Classes)에서 enum(열거형)은 관련 상수의 집합을 정의하는 데 사용되는 데이터 타입입니다. 열거형을 사용하면 코드의 가독성을 높이고, 의미 있는 이름으로 상수를 정의함으로써 코드 유지보수를 용이하게 할 수 있습니다.
1. enum의 기본 개념
enum은 기본적으로 정수형 상수를 정의하는 방법입니다. C++에서 enum을 사용하면 다음과 같이 정의할 수 있습니다:
enum Color {
Red, // 0
Green, // 1
Blue // 2
};
위의 예제에서 Color라는 열거형은 Red, Green, Blue 세 가지 색상을 정의합니다. 기본적으로 Red는 0, Green은 1, Blue는 2의 값을 가집니다. 이러한 기본값은 필요에 따라 변경할 수 있습니다.
2. MFC에서의 사용 예
MFC에서는 enum을 다양한 상황에서 주로 사용합니다. 예를 들어, 메시지 핸들러, 상태 표시, 명령 ID 등을 정의할 때 열거형을 활용할 수 있습니다.
예제: 상태 표시
enum Status {
Idle,
Running,
Paused,
Stopped
};
// 상태를 변수로 사용
Status currentStatus = Idle;
// 상태에 따라 동작
if (currentStatus == Running) {
// 실행 중일 때의 처리
}
3. enum을 사용한 메시지 핸들링
MFC에서 사용자 인터페이스를 다룰 때, enum을 사용하여 다양한 상태를 처리할 수 있습니다. 예를 들어, 버튼 클릭에 대한 처리를 다음과 같이 할 수 있습니다.
enum ButtonState {
Normal,
Hovered,
Clicked
};
class CMyDialog : public CDialogEx {
public:
ButtonState btnState;
void OnButtonClick() {
btnState = Clicked;
// 버튼 클릭 처리 로직
}
};
4. 열거형의 확장
C++11 이후, 열거형에 명시적인 타입을 지정할 수 있습니다. 이렇게 하면 열거형 값의 범위를 제한하고, 타입 안전성을 높일 수 있습니다.
enum class Fruit : int {
Apple = 1,
Banana = 2,
Cherry = 3
};
// 사용 예
Fruit myFruit = Fruit::Apple;
5. MFC에서의 사용 예시
MFC의 다양한 클래스와 함께 enum을 활용할 수 있습니다. 예를 들어, 도형을 그리는 프로그램에서 도형의 종류를 열거형으로 정의할 수 있습니다.
enum ShapeType {
Circle,
Rectangle,
Triangle
};
class CShape {
public:
ShapeType type;
void Draw() {
switch (type) {
case Circle:
// 원 그리기
break;
case Rectangle:
// 사각형 그리기
break;
case Triangle:
// 삼각형 그리기
break;
}
}
};
요약
MFC에서 enum은 관련 상수 집합을 정의하여 코드의 가독성을 높이고 유지보수를 용이하게 하는 데 사용됩니다. 열거형을 사용하면 명확한 이름으로 상태나 동작을 표현 가능
'반도체 > MFC' 카테고리의 다른 글
6. MFC에서 많이 사용하는 함수들 (1) | 2024.08.20 |
---|---|
5 .C++의 OnTimer MFC (2) | 2024.08.20 |
3. MFC 이벤트 플러그 활용 (1) | 2024.08.01 |
2. MFC의 ShowWindow 함수(winuser.h) (0) | 2024.07.30 |
1. C++에서 MFC (마이크로소프트 파운데이션 클래스) (2) | 2024.07.23 |