728x90
서론 #아웃라이어란 여러 책에서 뭘 읽을지 고민하다가 목차를 대강 훑어보고 고른 책. 자세한 내용이나 정확한 주제를 알고서 고른 건 아니지만 추천도서는 추천하는 이유가 있겠거니 싶어 쭉 읽었다. 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..
교내 전공과목인 윈도우즈 API수업을 정리합니다 1. Timer프로그램을 수평우향으로 움직이게 바꾸자. (기존: 수직하향) #그전에, [오류: 'ZI'과(와) '/Gy-'명령줄 옵션이 호환되지 않습니다.] 해결하기 아니오 -> 예로 바꿔주기. (1) 코드소스 case WM_TIMER: if (x >= rect.right) //바뀜 { str[0] = rand() % 26 + 97; y = rand() % (rect.bottom - 40) + 20; //바뀜 x = 0; //바뀜 } x += 60; //바뀜 InvalidateRect(hWnd, NULL, TRUE); return 0; 3주차(1) 포스팅 글에 있던 소스에서 WM_TIMER부분만 바꿔주면 됨. (2) 실행결과 옆으로 움직이고 있는 거 맞음...