728x90
반응형
#include "resource.h"
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_MYMESSAGE:
{
WCHAR Str[32];
wsprintf(Str, TEXT("%d %d"), wParam, lParam);
MessageBox(hWnd, Str, TEXT("캡션"), MB_OK);
}
break;
case WM_LBUTTONDOWN:
{
// 프로그래머가 직접 메세지를 만들고 발생 시킬때 사용
//SendMessage(hWnd, WM_MYMESSAGE, 10, 20);
SendMessage(hWnd, WM_TIMER, 0, 0);
}
break;
case WM_TIMER:
{
WCHAR Str[32];
wsprintf(Str, TEXT("%d %d"), wParam, lParam);
MessageBox(hWnd, Str, TEXT("캡션"), MB_OK);
}
break;
case WM_CREATE:
{
}
break;
case WM_COMMAND:
{
}
break;
case WM_PAINT:
{
HDC hdc, MemDC;
HBITMAP MyBitmap, OldBitmap;
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);
MemDC = CreateCompatibleDC(hdc);
//MyBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_BITMAP1));
MyBitmap = (HBITMAP)LoadImage(NULL, TEXT("mmm.bmp"),
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
//사이즈 얻기
BITMAP bitmap;
GetObject(MyBitmap, sizeof(BITMAP), &bitmap);
int m_width = bitmap.bmWidth;
int m_height = bitmap.bmHeight;
//사이즈 얻기
OldBitmap = (HBITMAP)SelectObject(MemDC, MyBitmap);
BitBlt(
hdc,
0, 0,
640, 360, // m_width, m_height
MemDC, 0, 0,
SRCCOPY);
/*StretchBlt(
hdc, 0, 0,
640/2, 360/2,
MemDC, 0, 0,
200, 0, SRCCOPY);*/
SelectObject(MemDC, OldBitmap);
DeleteObject(MyBitmap);
DeleteDC(MemDC);
EndPaint(hWnd, &ps);
}
break;
728x90
반응형
'Education > Edu | .net' 카테고리의 다른 글
# 3.1) [C/C++] JSF파일에서 바이너리로 이미지 파일 입출력 (0) | 2021.01.06 |
---|---|
# 2.9) [Win32API] 도형그리기, 색 채우기 (0) | 2021.01.04 |
# 2.7) [Win32API] 메세지 띄우는 법 (0) | 2021.01.04 |
# 2.6) [Win32API] Polyline 사용하여 별 그리기 (0) | 2021.01.04 |
# 2.5) [Win32API] 오각형 타이머 설정하여 회전시키기 (0) | 2021.01.04 |