무효화 영역을 설정할때, 즉 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
- Visual C++
- jni강좌
- C
- android
- winapi
- 음악
- jni
- 프로그래밍
- kering
- gcc
- C++
- API
- MFC
- linux
- it
- Python
- AWS
- database
- 리눅스
- source
- 드라이버
- driver
- Quiz
- 안드로이드
- Troubleshooting
- Cloud
- java
- NDK
- algorithm
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |