MFC 윈도우 프로그래밍의 시작
주요 참고 사이트 – [MFC] 윈도우 프로그래밍 기초 (정원영님의 블로그)
MFC 기초 프로그래밍
- 윈도우 프로그래밍 시작
MFC는 쉽게 말해서 마이크로소프트에서 제공하는 클래스들로 윈도우 프로그래밍을 보다 쉽게 할 수 있도록 다양한 라이브러리를 제공한다.
이를 위해서 먼저 윈도우 프로그래밍의 기본 형태부터 살펴보면 과거 C, C++ 시절 도스 프로그램의 시작점은 main() 함수였다. 이와 유사하게 윈도우 프로그램의 시작점은 WinMain() 함수로 정규적인 형태는 아래와 같다.
// MFC 메인함수 기본
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
}
| 인수 | 설명 |
|---|---|
| hInstance | 현재 실행되고 있는 프로그램의 핸들 |
| hPrevInstance | 바로 앞에 실행된 프로그램의 인스턴스 핸들, 통상 NULL 값 |
| IpCmdLine | 명령행 인자. Main() 함수의 argv에 해당 |
| nCmdShow | 윈도우를 보여주는 형태의 플래그 |
- 윈도우 프로그래밍 자료형
| 자료형 | 의미 |
|---|---|
| BYTE | unsigned char |
| WORD | unsigned short |
| DWORD | unsigned long |
| LONG | long |
| LPSTR | char* |
| BOOL | bool, TRUE or FALSE |
- 핸들의 정의
핸들이란 어떤 대상에 붙여진 레이블과 같은 것으로, 대상을 식별하는데 사용되고, 핸들을 이용하여 특정 대상을 관리할 수 있다.
여기서 대상이란 주로 윈도우(창)를 의미하며, 그 외 해당 윈도우를 컨트롤 하기 위한 요소들을 의미한다.
핸들 값은 모두 접두어 h로 시작하며, 핸들은 정수형 32bit 값을 가진다. 또한 운영체제가 발급하며 사용자는 할당된 핸들을 통해 원하는 작업을 처리하며, 같은 종류의 핸들끼리는 중복된 핸들 ID값을 가지지 않는다.