본문 바로가기

[ C/ C++ 프로그래밍 ]/[ WinAPI ]

[Windows Api 정복 정리 ] 기초


ㅇ API
 -  특정 시스템(운영체제든 하드웨어든)을 위한 함수 집합

 



ㅇ 표준 데이터형
 - windows.h 라는 헤더 파일에 typedef로 선언되어 있음
 
 


ㅇ 핸들(handle)
-  구체적인 어떤 대상에 붙여진 번호, 문법적으로 32비트의 정수값
 - 도스 경우 파일핸들만 사용됨
 - 윈도우 경우 윈도우 핸들(hWnd)을 붙여 윈도우를 번호로 관리한다.
 - 문자열보다 정수를 사용하는 것이 훨씬 더 속도가 빠르기 때문에 핸들을 사용
 - 핸들은 오로지 구분하기 위한것

ㅇ 핸들의 특징
 - 정수값, 대부분의 32비트값 ==> 구분이 목적이기 때문에 적합
 - 운영체제가 핸들을 발급, 사용자는 쓰기만 하면된다.
 - 같은 핸들끼리 정복된 값을 가지지 않는다.
 - 실제값이 무엇인지 몰라도 된다 ==> 단순한 표식, 핸들형 변수를 만들어
 - 핸들값을 저장하기 위해 별도 데이터형이 정의되어 있음
    ex) HWND, HPEN, BHRUSH, HDC 등 ==> 모두 부호 없는 정수형

ㅇ  비트 OR 연산자( | )
 - 윈도우 API 함수의 인수 전달법으로 활용
- ex)  DT_CENTER | DT_BOTTOM | DT_WORDBREAK

/*
* DrawText() Format Flags
*/
#define DT_TOP              0x00000000
#define DT_LEFT             0x00000000
#define DT_CENTER           0x00000001
#define DT_RIGHT            0x00000002
#define DT_VCENTER          0x00000004
#define DT_BOTTOM           0x00000008
#define DT_WORDBREAK        0x00000010
#define DT_SINGLELINE       0x00000020
#define DT_EXPANDTABS       0x00000040
#define DT_TABSTOP          0x00000080
#define DT_NOCLIP           0x00000100
#define DT_EXTERNALLEADING  0x00000200
#define DT_CALCRECT         0x00000400
#define DT_NOPREFIX         0x00000800
#define DT_INTERNAL         0x00001000

ps : 자세한 내용은  www.WinAPI.co.kr 참고