반응형
API, MFC를 처음 공부하면 생소한 변수 타입을 자주 접하게 됩니다.
API, MFC에서 주로 사용되는 변수 타입은 다음과 같습니다.
BOOL | 기존의 bool(true, false의 값을 가짐) |
BSTR | 32비트 문자 포인터 |
BYTE | 8비트 부호 없는(unsigned) 정수 |
COLORREF | 색 지정에 사용되는 32비트값(RGB매크로 사용으로 생성 가능) |
DWORD | 32비트 부호 없는(unsigned) 정수, 세그먼트 어드레스 / 옵셋 |
LONG | 32비트 부호 있는 정수 |
LPARAM | 윈도우 프로시저 또는 콜백 함수의 인수로서 넘어가는 32비트 값 |
LPCSTR | 문자열 32비트 포인터(const 속성) |
LPSTR | 문자열 32비트 포인터 |
LPCTSTR | 정수문자열로의 32비트 포인터(Unicode 지원) |
LPTSTR | 문자열로의 32비트 포인터(Unicode 지원) |
LPVOID | 형 지정 없는(void 형) 포인터 |
LRESULT | 윈도우 프로시저 또는 콜백 함수의 32비트 정수형 리턴 타입 |
UINT | 부호가 없는 32비트 정수형(unsigned int) |
WNDPROC | 윈도우 프로시저 32비트 포인터 |
WORD | 16비트 부호없는 정수(16bit 환경에서는 UINT와 같은 크기) |
WPARAM | 윈도우 프로시저 또는 콜백 함수의 인수로서 넘어가는 32비트 값 |
POSITION | MFC 컬렉션 클래스에서 사용 |
LPCRECT | RECT 구조체의 포인터(const 속성) |
그리고 HANDLE 이라는 타입은 Windows에서 많이 쓰이는 변수형중에 하나입니다.
실제로는 32bit의 정수형으로 표현됩니다.(32bit OS 기준)
HANDLE은 LPVOID를 재정의 한 것이기 때문에 64bit OS에서는 64bit의 값입니다.
정의 부분으로 가기를 해보면 typedef void *HANDLE;
라고 정의 되어 있습니다.
이 HANDLE이 다시 HWND 등으로 재정의됩니다.
API 프로그래밍에서 가장 많이 보게 될 변수형입니다.
DC도 핸들을 갖고 각 컨트롤들도 핸들을 갖습니다.
이것은 일종의 식별자라고 보면됩니다.
반응형
'Programming > Win32&MFC&COM' 카테고리의 다른 글
GetLastError() 함수를 통한 에러 확인 (0) | 2015.01.05 |
---|---|
프로세스 목록 확인하기(작업 관리자) (0) | 2015.01.03 |
MFC에서 프로그램의 hInstance와 hWnd 구하기 (0) | 2015.01.01 |
윈도우 리전(Region) 설정해서 윈도우 모양 바꾸기 (0) | 2014.12.31 |
다중 실행 방지 코드(CreateMutex) (0) | 2014.12.27 |