프로그래밍/WindowsAPI 스피비 2011. 5. 31. 12:06
- 윈도우가 종료 하기 바로 전에 해야 할일은 주로 WM_CLOSE 메시지 에서 처리한다 출저:New Technology & Tip : [API][C++][이론] WM_NCHITTEST, 마우스 캡쳐/좌표, 종료과정
프로그래밍/WindowsAPI 스피비 2011. 5. 31. 12:03
윈도우 API는 여러개의 좌표가 존재한다. 1. 좌표계를 이해 1) 스크린 좌표계 2) 윈도우 좌표계 3) 클라이언트 좌표계 2. 스크린좌표 클라이언트좌표 변환 함수 - ClinetToScreen | ScreenToClient ( 두개 외에 나머지 함수 만들기 ) void WindowToScreen(HWND hwnd, POINT* Point) { RECT Rect; GetWindowRect( hwnd, &Rect ); Point->x = Point->x + Rect.left; Point->y = Point->y + Rect.top; } void ScreenToWindow(HWND hwnd, POINT* Point) { RECT Rect; GetWindowRect( hwnd, &Rect ); Point->..
프로그래밍/WindowsAPI 스피비 2011. 5. 31. 11:50
1.GetMessage 와 PeekMessage의 차이 GetMessage 는 메시지가 없으면 메시지가 생길떄까지 기다린다. 하지만 게임에서는 역동적이어야 하기때문에 GetMessage를 사용하는것이 좋은선택은아니다. 사용자가 어떤입력을 줄떄까지 조용히 있는 게임을 바라는 사람은없을것이다. 사용자가 입력이 없으면 애니메이션도 안될것이다. 이런것을 하려면 다른종류의 메시지 펌프가 필요하다. 즉, 처리함 메시지가 있으면 그것을 처리하되 그렇지 않는 시간에는 게임을 위한 다른코드를 처리할 수 있어야한다. PeekMessage가 이런 목적에 맞다. BOOL PeekMessage { LPMSG lpMsg; HWND hWnd; UINT wMsgFilterMin; UINT wMsgFilterMax; UINT wRem..
프로그래밍/WindowsAPI 스피비 2011. 5. 26. 17:08
대화상자 1.정의 대화상자에는 컨트롤들이 배치 사용자는 대화상자를 호출한 후 컨트롤을 통해 자신의 의사를 표시하고 명령 프로그램은 대화상자에 배치된 컨트롤을 통해 현재 상태를 사용자에게 보여준다. 사용자로부터 끊임없이 지시를 받고 사용자의 지시에 따라 작업을 하고 작업한 결과를 사용자에게 보고한다. 프로그램과 사용자와의 이런 대화 수단으로 간단하게는 버튼, 에디트, 리스트 박스 등의 컨트롤이 사용된다. 그러나 이런 간단한 컨트롤로는 사용자로부터 복잡한 정보를 입력 받기가 어려우며 많은 양의 정보를 효율적으로 입력받기 위해 주로 대화상자를 사용한다. 2.대화상자의 종류 모달형과 모델리스형이 있다. 1)모달(Modal)형 대화상자를 닫기 전에 다른 윈도우로 전환할 수 없으며 반드시 OK버튼이나 Cancel ..
프로그래밍/WindowsAPI 스피비 2011. 5. 26. 16:03
컨트롤의 정의 컨트롤(Control)이란 사용자와의 인터페이스를 이루는 도구이다. 인터페이스를 이룬다는 말은 사용자로부터 명령을 받아들이고 출력 결과를 보여준다는 뜻이다. 프로그램은 실행중에 끊임없이 사용자와 통신을 하는데 컨트롤을 통해 명령과 정보를 받아들이고 또한 컨트롤을 통해 실행 결과를 사용자에게 보고한다. 윈도우즈 3.1부터 지원하는 컨트롤에는 버튼, 에디트, 체크, 라디오, 리스트 박스, 콤보 박스, 스크롤 바, 스태틱 등 여섯가지에 불과하지만 윈도우즈 95/98부터는 사용할 수 있는 컨트롤의 수가 대폭 증가되었으며 현재는 OCX 컨트롤까지 사용할 수 있도록 되어 컨트롤의 수는 거의 무한대에 이른다. 인터넷을 뒤져보면 사용목적에 부합하는 공개된 컨트롤들이 많이 있으며 사용방법은 갈수록 쉬워지고..