비트맵 출력 (비트맵 크기대로 불러오기) > WINAPI TIP

본문 바로가기
사이트 내 전체검색

WINAPI TIP


비트맵 출력 (비트맵 크기대로 불러오기)

페이지 정보

작성자 이즈 댓글 0건 조회 778회 작성일 07-01-06 08:16

본문

#include <windows.h>
#include "resource.h"


  LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
  HINSTANCE hInstance;
  LPSTR lpszClass="프로그램";
  // 비트맵 변수
  HBITMAP hBitmap;
  BITMAP bitmap;

  int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow )
  {

// 비트맵 불러오기 (리소스 비트맵) 
  hBitmap = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));

  HWND hWnd;
  MSG msg;
  WNDCLASS WndClass;   

  WndClass.cbClsExtra=0;
  WndClass.cbWndExtra=0;
  WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
  WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
  WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
  WndClass.hInstance=hInstance;
  WndClass.lpfnWndProc=(WNDPROC)WndProc;
  WndClass.lpszClassName=lpszClass; 
  WndClass.lpszMenuName=NULL;
  WndClass.style=CS_HREDRAW | CS_VREDRAW;
  RegisterClass(&WndClass);
 
 
  hWnd=CreateWindow(lpszClass,lpszClass,
                    WS_OVERLAPPEDWINDOW,
                    CW_USEDEFAULT,
                    CW_USEDEFAULT,
                    CW_USEDEFAULT,
                    CW_USEDEFAULT,
                    NULL,
                    NULL,
                    hInstance,
                    NULL);
    ShowWindow(hWnd,nCmdShow);
 

    while(GetMessage(&msg,0,0,0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    return msg.wParam;
    }

    LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
    {
HDC hdc,memDC;
PAINTSTRUCT ps;
static int nX,nY;

        switch(message)
        {
        case WM_DESTROY:
                PostQuitMessage(0);
                return 0;

case WM_PAINT:
hdc = BeginPaint(hWnd,&ps);
memDC = CreateCompatibleDC(hdc);
SelectObject(memDC,hBitmap);
GetObject(hBitmap, sizeof(BITMAP),(BITMAP *)&bitmap);
nX = bitmap.bmWidth;
nY = bitmap.bmHeight;
BitBlt(hdc,0,0,nX,nY,memDC,0,0,SRCCOPY);
DeleteDC(memDC);
EndPaint(hWnd,&ps);
return 0;
        }
    return(DefWindowProc(hWnd,message,wParam,lParam));
    }

댓글목록

등록된 댓글이 없습니다.

Total 65건 1 페이지
게시물 검색

회원로그인

설문조사

현재 사용하시는 os 는?

접속자집계

오늘
287
어제
598
최대
733
전체
122,245

그누보드5
Copyright © www.qdata.co.kr. All rights reserved.