728x90
교내 전공과목인 윈도우즈 API수업을 정리합니다 1. 히트테스트를 할 수 있는 프로그램을 만들어 보자 각 범위를 누르면 서로 다른 애니메이션이 나타나도록 한다 - 실행시킬 때, 이 프로그램은 바탕화면 위에 있어야한다 ( 중간에 다른 창이 끼면 안 된다) - 왼쪽버튼을 눌렀을 때 어느 칸을 눌렀는지 인식하도록 만들어야 한다. (hit test) (0) 빌드 오류 고치기 플랫폼 도구 집합을 2019버전으로 맞춤. 명령줄 오류 고치기 위한 함수 수준 링크 사용 설정 (1) 소스코드 LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; TCHAR* Mes = TEXT("마우..
서론 #아웃라이어란 여러 책에서 뭘 읽을지 고민하다가 목차를 대강 훑어보고 고른 책. 자세한 내용이나 정확한 주제를 알고서 고른 건 아니지만 추천도서는 추천하는 이유가 있겠거니 싶어 쭉 읽었다. 2주 동안 짬을 내어. 아웃라이어란 뜻은 뭘까? 아웃라이어 == 일정 선을 넘은 사람 == 보통 사람의 범위를 벗어난 사람. 한자어보단 영어가 쉽긴 하다. 더 직관적인 느낌이 든다. 천재 혹은 위인, 뛰어나거나 성공한 사람을 일컫는 거다. #성공에는 법칙이 있을까 전의 어느 책, 어느 강연에서 보았듯이 사람에게 가장 큰 욕망 중 하나는 '명예', '권력'이다. 시간이 지날수록 그 말에 공감을 한다. 그리고 내가 사는 세상에는 이름을 남긴 사람들이 있다. 명예의 이름을 남긴 사람들을 보면 닮고 싶어지기 마련이고 나..
교내 전공과목인 윈도우즈 API수업을 정리합니다 1. str을 원하는 위치와 내용을 띄울 수 있는 대화상자를 만들자 (0). 리소스 설정 EditControl, StaticEditor 배치 IDM_X, IDM_Y, IDM_STR로 동작할 예정 (1) 소스코드 #include "resource.h" // 리소스 적용하기 위한 헤더파일 적용 // WinMain > WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //배경색 칠하기 // 전역변수 HWND hWNdMain; int x, y; TCHAR str[128]; // InfoDlgProc 작성 BOOL CALLBACK InfoDlgProc(HWND hDlg, UINT iMessage, WPAR..
교내 전공과목인 윈도우즈 API수업을 정리합니다 1. Mouse 파일의 BackSpace 동작의 오류를 고치자 (1) 오류 화면 선을 몇개 그리다가 지우기(BackSpace)동작을 반복하면 선이 이어지는 오류가 발생한다. 이는 소스코드에서 선 객체를 셀 때 초기화 동작을 제대로 해 주지 않은 것이 원인이다. (2) 소스코드 // 선을 지울 때, 혹은 선을 그릴 때를 선택하여 현재 객체의 가진 점 개수를 초기화 시키도록 하자. /* WnProc > WM_KEYDOWN */ case WM_KEYDOWN: switch (wParam) { case VK_BACK: // 선 객체 지우기 if (iLineCount > 0) { iLineCount--; lines[iLineCount].iPointCount = 0; ..
교내 전공과목인 윈도우즈 API수업을 정리합니다 1. Mouse 버튼을 통해 선그리기를 해보자 (1) 소스코드 LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) { HDC hdc; static int x; static int y; //static BOOL bNowDraw=FALSE; switch (iMessage) { case WM_LBUTTONDOWN: /* 선그리기 시작을 알림 */ x = LOWORD(lParam); y = HIWORD(lParam); //bNowDraw=TRUE; return 0; case WM_MOUSEMOVE: if (wParam & MK_LBUTTON) { // & = 비트연산자 /..
교내 전공과목인 윈도우즈 API수업을 정리합니다 1. Timer프로그램을 기능개선 시켜보자. 목표: 쓸데없이 전체화면을 새로고침하지말고, 문구가 나오는 부분만 수정해주자. LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; SYSTEMTIME st; static TCHAR sTime[128]; switch (iMessage) { case WM_CREATE: SetTimer(hWnd, 1, 1000, NULL); SendMessage(hWnd, WM_TIMER, 1, 0); return 0; case WM_RBUTTONDOWN: hdc = GetDC(hWnd); El..