홈
태그
미디어로그
위치로그
방명록
분류 전체보기
(112)
0x01 Notice
(11)
diary
(8)
0x02 Tips
(7)
iOS
(5)
Facebook
(2)
Twitter
(0)
0x03 Thinks
(4)
0x04 Security
(14)
news
(10)
web
(0)
mobile
(0)
system
(1)
forensic
(0)
vulnerabilities
(3)
0x05 Programming
(76)
C / C++
(12)
Java
(5)
Object -C
(3)
API / MFC
(11)
Unix/Linux
(6)
Socket Programing
(6)
Kelnel Programing
(6)
iPhone Programing
(19)
Android Programing
(5)
Web Programming
(2)
ABOUT ME
-
트위터
인스타그램
Today
-
Yesterday
-
Total
-
::j0ker's Lab::
::j0ker's Lab::
메뉴
검색
컨텐츠 검색
블로그 내 검색
[API] 11.13 수업
0x05 Programming/API / MFC
2009. 11. 13. 11:48
#include "StdAfx.h" #include "my.h" #include "resource.h" #pragma comment(lib,"Msimg32.lib") HDC g_BackDC; HBITMAP g_BackBitmap; HDC g_BgDC; HBITMAP g_BgBitmap; HDC g_MyDC; HBITMAP g_MyBitmap; extern HINSTANCE hInst; int g_x = 100; int g_y = 100; int g_frame = 0 ; int g_time = 0; void MyIni(HWND hWnd, WPARAM wParam, LPARAM lParam) { HDC hdc; hdc = GetDC(hWnd); g_BackDC = CreateCompatibleDC(hdc); g_BackBitmap = CreateCompatibleBitmap(hdc, 500,500); SelectObject(g_BackDC, g_BackBitmap); g_BgDC = CreateCompatibleDC(hdc); g_BgBitmap = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_1)); SelectObject(g_BgDC, g_BgBitmap); g_MyDC = CreateCompatibleDC(hdc); g_MyBitmap = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP2)); SelectObject(g_MyDC, g_MyBitmap); ReleaseDC(hWnd, hdc); SetTimer(hWnd, 1, 100, NULL); } void MyPaint(HWND hWnd, WPARAM wParam, LPARAM lParam, HDC hdc) { BitBlt(g_BackDC, 0, 0, 500, 500, g_BgDC, 0, 0, SRCCOPY); TransparentBlt(g_BackDC,g_x,g_y,40,40,g_MyDC,g_frame*40,0,40,40,RGB(255,0,0)); BitBlt(hdc, 0, 0, 500, 500, g_BackDC, 0, 0, SRCCOPY); } void MyTimer(HWND hWnd, WPARAM wParam, LPARAM lParam) { g_frame++; if(g_time <= 0) { g_time = 0; return ; } g_time--; g_frame++; if(2 < g_frame) { g_frame = 0; } InvalidateRect(hWnd, NULL, FALSE); } void MyKey(HWND hWnd, WPARAM wParam, LPARAM lParam) { switch(wParam) { case VK_LEFT: g_x -= 10; break; case VK_RIGHT: g_x += 10; break; case VK_UP: g_y -= 10; break; case VK_DOWN: g_y += 10; break; case VK_SPACE: g_time = 3*4; break; default: break; } InvalidateRect(hWnd, NULL, FALSE);
공유하기
게시글 관리
::j0ker's Lab::
저작자표시
관련글
관련글 더보기
[MFC] 다른클래스에서 메인 다이얼로그의 포인터 얻어오기 (dialog based)
[API] 비트맵 적용 숫자퍼즐
[API] 늑대의 침공 기본형
[API]늑대의 침공 가상키보드 적용 [미완성]
티스토리툴바