본문 바로가기

dev, tech/Windows P28

키보드 입력 받기(다이얼로그) (출처 : 짬뽕 ) PreTranslateMessage를 써서 입력을 받는다. 다이얼로그 헤더 파일의 선언부에 virtual BOOL PreTranslateMessage(MSG* pMsg);를 선언해주고 오버라이드한다. BOOL ________Dlg::PreTranslateMessage(MSG* pMsg) { switch(pMsg->message) { // 키가 눌렸을때 case WM_KEYDOWN: switch(pMsg->wParam) { // 리턴키\tab case VK_RETURN: return TRUE; // ESC키 case VK_ESCAPE: return TRUE; } } return CDialog::PreTranslateMessage(pMsg); } 위와 같이 case문을 돌리면, 엔터나 e.. 2009. 2. 24.
DC (Device Context) 와 HANDLE (핸들) 참고:www.winapi.co.krhttp://dinosaur.cie.cau.ac.kr/seminar/visual/GDI.html#gdiclass윈도우API 함수의 대부분이 이 세가지 DLL에 의해 제공되고 있다.KERNEL : 메모리를 관리하고 프로그램을 실행 USER : 유저 인터페이스와 윈도우를 관리 GDI : 화면 처리와 그래픽을 담당 - 출력을 하려면 우리는 GDI(Graphic Device Interface)모듈에 특별히 관심을 기울여야 한다. 화면으로 출력되는 모든 글자와 그림은 GDI를 통해야 하기 때문이다. DC(Device Context)의 필요성과 포함되는 구체적인 정보 DC(Device Context)란출력에 필요한 모든 정보를 가지는 데이터 구조체이며,GDI 모듈에 의해 관리된다... 2007. 1. 24.
WinMain 에서 하는 일... 크게 세가지로 나눠볼 수 있다. .윈도우 클래스 등록 : 앞으로 사용할 윈도우의 특성을 운영체제에 등록하여 알린다..메인 윈도우 생성 : 앞서 등록한 윈도우를 메인 윈도우로 생성한다..메시지 루프 진입 : 윈도우에 발생한 메시지를 처리하기 위해 루프에 진입한다. 윈도우 클래스의 등록 WinMain 에 진입하면 제일 먼저하는 일은 아으로 프로그램에서 사용할 윈도우의 특성을 윈도우 운영체제에 등록하는 것이다.(윈도우 클래스를 등록한다 고 한다.) 만일 그 프로그램 내에서 사용하는 윈도우의 종류가 N개라면 윈도우 클래스를 N번 등록해야 한다.또 그 수만큼의 윈도우 프로시저가 존재해야 한다. 이때, hPrevInstance가 0일 때만 호출하도록 되어있다. 이는 처음에 실행되는 인스턴스가 한 번만 윈도우 클래스.. 2006. 3. 4.
aa #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[]=TEXT("HelloWin"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; .. 2006. 2. 14.