프로그래밍 되어있는 소스들을 건들다 보면 #ifdef #ifndef #endif #include #define 이런것들을 볼 수 있는데~~ '전처리기'라고 하죠~ #include와 #define은 모두 아실테고.. 나머지 세개를 볼까요? 너무나 쉽습니다 #ifdef STAR //STAR가 define되어 있다면 #define A B #endif #ifndef STAR //STAR가 define되어있지 않다면 #define A C #endif 이게 다에요~ #endif는 반드시 #ifdef또는 #ifndef와 함께 쓰입니다. stdafx.h를 보면 #define WIN32_LEAN_AND_MEAN // 거의 사용되지 않는 내용은 Windows 헤더에서 제외합니다. // Windows 헤더 파일: #incl..
무효화 영역을 설정할때, 즉 WM_PAINT를 호출하기 위해 주로 쓰는 명령어는~~ BOOL InvalidateRect(HWND hWnd, CONST RECT *lpRect, BOOL bErase); 인데 자~ 다음같은 명령을 한번 처리해보도록 하죠 static int tmp=333; //333은 0이나 1이 아니도록 아무거나 써준 숫자랍니다. WM_PAINT: if(tmp == 0) process tmp0; else if(tmp == 1) process tmp1; break; WM_LBUTTONDOWN: tmp = 0; InvalidateRect(hWnd,NULL,TRUE); tmp = 1; break; 자~ 마우스 왼쪽 버튼을 클릭할 경우 process tmp0이 처리될까요? 아니면 process t..
메모리DC를 생성하고 바로 BitBlt로 hdc에서 memDC로 옮기면 옮겨지지 않습니다. 이유가 뭘까요~? MemDC는 생성직후의 크기가 1x1이기 때문이지요~ HBITMAP hBit; HDC hdc, hMemDC; WM_CREATE: hdc = GetDC(hWnd); hBit = CreateCompatibleBitmap(hdc,1024,768); hMemDC = CreateCompatibleDC(hdc); SelectObject(hMemDC, hBit); 이렇게 CreateCompatibleBitmap으로 HBITMAP을 생성해 준 후, SelectObject로 MemDC를 선택해주면 크기가 HBITMAP의 크기로 설정됩니다~ 다만 배경이 검은색으로 차기 때문에 흰색으로 채워줘야겠죠???
내가 고등학교 1학년때 WINAPI를 처음 접했을 때, 가장 몰랐던 것이 lParam과 wParam에 관한 것이었다.(지금 생각해 보면 참 웃기다.) 둘을 왜 굳이 따로 쓰는거여!!? 일단, 도대체 여기저기서 발견 되는 wParam과 lParam은 무엇인고?? 아주 쉽게 생각해서! 기본(default)으로 지정 되어 있는 기본 인자! 라고 생각하면 된다. 우리가 MOUSE를 컨트롤 하기 위해 메세지에서 WM_LBUTTONDOWN을 받았다고 하면, 곧 사용자가 알게될 값은 무엇일까? 바로 '좌표'이다! LBUTTONDOWN 메세지를 처리하는 순간의 lParam의 상위 16비트는 x좌표를, 하위 16비트는 y좌표를 갖게 된다. 이를 구분 할려면 HIWORD(lParam)과 LOWORD(lParam)으로 구분..
- Total
- Today
- Yesterday
- winapi
- 음악
- linux
- kering
- android
- Visual C++
- driver
- NDK
- 드라이버
- gcc
- MFC
- jni강좌
- source
- 안드로이드
- db
- it
- Troubleshooting
- C++
- Cloud
- C
- AWS
- java
- 프로그래밍
- 리눅스
- Quiz
- algorithm
- jni
- database
- API
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |