|
강영준 님이 쓰신 글 :
: LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
: {
: HDC hdc,MemDC;
: PAINTSTRUCT ps;
: HBITMAP MyBitmap, OldBitmap;
:
: switch(iMessage) {
: case WM_DESTROY:
: PostQuitMessage(0);
: return 0;
: case WM_PAINT:
: hdc = BeginPaint(hWnd,&ps);
: MemDC = CreateCompatibleDC(hdc);
: MyBitmap = LoadBitmap(g_hInst, MAKEINTRESOURCE(0));
: OldBitmap = (HBITMAP)SelectObject(MemDC, MyBitmap);
: BitBlt(hdc,0,0,123,160,MemDC,0,0,SRCCOPY);
: SelectObject(MemDC, OldBitmap);
: DeleteObject(MyBitmap);
: DeleteDC(MemDC);
:
: EndPaint(hWnd,&ps);
: return 0;
: default :
: return(DefWindowProc(hWnd,iMessage,wParam,lParam));
: }
: }
:
: 위 소스에서..
: MyBitmap = LoadBitmap(g_hInst,MAKEINTRESOURCE(...)); 이 부분을 어떻게 해야 되는건지요?
:
: 책에는 VC++ 위주로 설명이 되어 있어서.. 빌더에서 리소스 는 어떻게 처리해줘야 되는건가요?
MyBitmap = LoadBitmap(g_hInst,MAKEINTRESOURCE(...)); 에서
g_hinst는 WinMain에서 hInstance라 불리는 프로그램에 대한 인스턴스 핸들이고
MAKEINTERSOURCE는 정수형태로 리소를 만들었을때 사용합니다.
보통 rc파일에
mybitmap BITMAP "test.bmp"
인경우에는 MyBitmap=LoadBitmap(hinstance,"mybitmap");
12 BITMAP "test.bmp"
인경우에는 MyBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(12));
하시면 됩니다.
|