Windows Programming/Win32API 란?
-
DC와 무효화 영역Windows Programming/Win32API 란? 2022. 3. 28. 20:42
DC Device Context 란? 출력에 필요한 모든 정보를 가지는 구조체 폰트, 색상, 굵기, 그리기 모드 , 무늬 등 모두 출력에 필요한 정보 윈도우를 만들고 그림을 그리려면 반드시 DC의 핸들을 얻어야 한다. DC는 임의의 장치( 윈도우, 프린터)에 출력을 할 때 사용하는 다양한 속성의 지닌 일종의 구조체 이다. 사용자는 DC에 출력을 하면 DC가 지닌 여러 속성을 사용 해서 DC가 연결된 장치에 출력된다. DC는 하나의 메시지를 처리하는 동안 핸들을 얻고 제거해야 한다. 즉, static 형태로 보관 해서 사용할 수 없다. -DC를 얻고 제거하는 방법들 [사용 예] HDC hdc = GetDC(hWnd); //각종 출력문에서 hdc를 사용한다. Rectangle(hdc, 0, 0, 0+100,..
-
PeekMessage()Windows Programming/Win32API 란? 2022. 3. 24. 20:34
메시지 루프에서 제일 중요한 함수는 메시지를 가져 오는 GetMessage함수이다. 이 함수는 메시지 큐에서 메시지를 가져오는데 메시지가 없으면 새로운 메시지가 전달될 때까지 리턴하지 않는다. 즉 메시지가 없을 경우 무한 대기한다. 만약, 메시지 큐에 메시지가 없을 경우 다른 작업을 하고 싶다면(유휴 시간) (게임 프로그래밍을 하기위해선 이 유휴시간을 잘 활용을 해야 하기때문에 PekkMessage()함수는 중요하다) PeekMessage()는 메시지 큐에 메시지가 없더라도 즉각 리턴한다. 리턴값이 TRUE 이면 메시지가 있다는 뜻 FALSE 이면 메시지가 없다는 뜻 우리는 PeekMessage()로 유휴시간(idle time)을 활용 할수 있다. if()구문 들어온 메시지가 WM_QUIT이면 break..
-
윈도우 핸들(HWND)Windows Programming/Win32API 란? 2022. 3. 20. 11:11
핸들은 해당 윈도우를 제어하기 위한 필수적 정보 ShowWindow() 함수는 윈도우를 화면에 다양한 형태로 출력할 때 사용한다. MoveWindow() 함수는 윈도우를 이동할 때 사용하며 GetWindowRect() 함수는 윈도우의 위치와 크기를 얻을 때 사용한다. 이 외 다수의 API 함수들은 객체를 제어하기 위한 목적으로 제공되며, 위에서 제시한 함 수들은 그 중 윈도우를 제어하기 위한 목적의 함수이다. 따라서 윈도우 핸들은 해당 윈도우를 제어하기 위한 필수적 정보이며, 이를 알고 있다면 다양한 API 함수를 사용하여 원하는 명령들을 내릴 수 있다. 윈도우 핸들 얻기 1번째 인자로 윈도우를 만든 윈도우 클래스 이름, 2번째 인자로 윈도우의 캡션바에 있는 문자열을 지정한다. 만약 윈도우 클래스 이름을..
-
WinMain과 프로시저,메시지큐Windows Programming/Win32API 란? 2022. 3. 18. 17:42
WinMain의 기본인자 HINSTANCE hInst: 자신의 인스턴스 값(주소) 코드의 시작주소가 전달 HINSTACE hPrev: 현재 사용안함(과거에는 사용됨) 현재는 NULL전달 LPWSTR lpCmdLIne: 명령행 인자(프로그램 시작시 전달되는 정보) int nCmdShow : 프로그램 시작시 전달되는 window 초기 모양 윈도우 프로시저 윈도우 프로시저는(Window Procedure) 윈도우 클래스당 하나씩 배정되며 메시지에 대응하는 방식을 정의함으로써 윈도우의 행동 양식을 결정 윈도우 프로시저는 아래와 같은 원형을 가짐 LRESULT CALLBACK WndProc(HWND hWNd, UINT iMessage, WPARAM wParam, LPARAM lParam); 문법적으로 함수이지만 ..
-
win32api란?Windows Programming/Win32API 란? 2022. 3. 11. 15:40
win32api는 window기반 os에서 작동하는 어플리케이션을 구현 하는 것 win32 API에서 제공하는 함수들을 이용해서 프로그램을 작성 OS한테 직접 명령을 내릴수 있는 함수 (네이티브,저수준) ex)우리가 누구와 소통을 할때 중간에 다른 사람을 거쳐 대화 하는것이 아닌 직접 대화하는것 장점-윈도우즈os에서 할수 있는 모든것을 구현 할수 있다. 단점-처음부터 끝까지 일일이 직접 구현해야 한다. 공부 목적 1.Windows Programming 이해(GrapgicUI):(ConsoleUI) -skeleton(기본코드) -event 기반 프로그래밍 기법 API는 응용프로그램을 위한 함수 집합을 제공 우리는 API를 통해 커널과 소통을 할 수 있다. API는 크게 3개의 모듈로 구분 할 수있다. GD..