윈도우 핸들 얻기, 윈도우 인스턴스 얻기 LONG GetWindowLong(HWND hWnd, int nIndex) nIndex 는 얻고자 하는 인덱스 GWL_STYLE 윈도우 스타일 GWL_HINSTANCE 윈도우 인스턴스 핸들 GWL_WNDPROC 윈도우 메시지 프로시저 GWL_ID 자식 윈도우일 경우 설정된 ID GWL_USERDATA 윈도우와 관련된 사용자 데이터 GWL_DLGPROC 대화상자 프로시저 주소 GWL_MSGRESULT 대화상자 프로시저의 리턴값 GWL_USER 사용자 데이터 예제) 윈도우 스타일 변경하기 DWORD dwStyle = WS_OVERLAPPEDWINDOW | WS_VSCROLL | WS_HSCROLL; SetWindowLong(hWnd, GWL_STYLE, dwStyle..
1. SendMessage 시스템 큐와 어플리케이션 큐를 거치지 않고 곧장 윈도우프로시저로 메시지 전달하여, 완전히 처리되기 전까지 반환하지 않는다. 메시지 처리 후 반드시 처리 확인이 필요한 경우 이 함수 사용. 2. PostMEssage 시스템 큐를 거치지 않고 어플리케이션 큐에 전달. 이 함수는 큐에 전달하고 곧바로 반환된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #define WM_GETVALUE1 WM_USER+1 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int a = 0; case WM_RBUTTONDOWN: /* hWnd1 = FindWindow(NULL, L"..
1. 키 입력 2. 시스템 큐(OS) 저장 - 순서대로 해당 어플리케이션 큐로 옮긴다 3. 어플리케이션(프로그램) 큐 4. 메시지 루프 5. 윈도우프로시저 (해당 메시지 처리) 메시지구조 이벤츠발생한 윈도우핸들, 메시지, 부가정보(wParam), 부가정보(lParam), 시간, 좌표 while(GetMessage(&msg, 0, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } GetMessage() 거짓을 반환할때까지 루프 반복, WM_QUIT 메시지를 받으면 거짓 반환, 이외 메시지는 참을 반환, 즉, WM_QUIT 받을떄까지 무한루프 TranslateMessage(&msg) 는 키 입력이 되면 WM_CHAR 메시지를 발생하고 아니면 아무일도 안함..
1. 인스턴스 클래스 집합으로 이루어진 프로그램이 메모리에 올라온 것 2. 핸들 윈도우, 컨트롤 등을 관리하기 위해 OS로부터 할당받은 32비트 정수 3. 윈도우 생성 4단계 A. 클래스 만들기 (등록) WNDCLASS wc; wc.cbClasExtra = 0; wc.cbWndExtra = 0; wc.lpfbWndProc = WndProc; .... RegisterClass(&wc); B. 윈도우객체 생성하기 HWND hWnd = CreateWindow(...); C. 윈도우 객체 화면보이기 ShowWindow(hWnd, nCmdShow); D. 메시지 루프