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
반응형

+ Recent posts