當前位置:編程學習大全網 - 編程語言 - WIN32編程無法顯示位(帶代碼)

WIN32編程無法顯示位(帶代碼)

# include & ltWindows.h & gt

#包含“resource.h”

# include & ltatlimage.h & gt//CImage的頭文件

# include & ltstring.h & gt

# include & ltstdio.h & gt

#定義MAX_ARRAY 50

////全局變量////

tchar sztlitlename[max _ array]= text(" game ");////標題

TCHAR SZ class name[MAX _ ARRAY]= TEXT(" SZ class name ");////類名

tchar szreclaerror[max _ array]= text("窗口註冊失敗!");

HDC BGbmpDC = NULL

hbit map bgb MP 1 = NULL;

HBITMAP BGbmp2 = NULL

LRESULT回調MyWndPoc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(h instance h instance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)

{

HWND hWnd

MSG消息;

/////定義窗口類////

WNDCLASS wndclass

wnd class . cbclsextra = 0;

wnd class . cbwndextra = 0;

wnd class . HBR background =(HBRUSH)GetStockObject(BLACK _ BRUSH);

wnd class . hcursor = load cursor(h instance,IDC _ ARROW);

wnd class . hicon = load icon(h instance,IDI _應用);

wnd class . h instance = h instance;

wndclass.lpfnWndProc = MyWndPoc

wnd class . lpsz class name = SZ class name;

wndclass.lpszMenuName = NULL

wnd class . style = CS _ HREDRAW | CS _ VREDRAW;

////註冊窗口類////

如果(!register class(& amp;wndclass))

{

MessageBox(NULL,szReClaError,szClassName,MB _ icon error);

}

/////創建壹個窗口類////

hWnd = CreateWindow(szClassName,

szTitleName,

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

414,

460,

空,

空,

hInstance,

NULL);

HDC window DC = GetDC(hWnd);

BGbmpDC = CreateCompatibleDC(windowDC);

//bgb MP 1 = CreateCompatibleBitmap(windowDC,414,460);

bgb MP 2 =(hbit map)LoadImage(h instance,MAKEINTRESOURCE(IDB_BG),IMAGE_BITMAP,0,0,

/* LR _ LOADFROMFILE | */LR _ CREATEDIBSECTION);

//SelectObject(BGbmpDC,bgb MP 2);

// BitBlt(BGbmpDC,0,0,414,460,windowDC,0,0,SRCCOPY);

////顯示更新窗口////

ShowWindow(hWnd,nShowCmd);

更新窗口(hWnd);

////消息循環////

while (1)

{

if(PeekMessage(& amp;messag,NULL,0,0,PM_REMOVE))

{

if (WM_QUIT==messag.message)

{

PostQuitMessage(0);

打破;

}

翻譯消息(& ampmessag);

dispatch message(amp;messag);

}

}

return(int)messag . wparam;

}

////窗口過程函數////

LRESULT回調MyWndPoc(HWND hWnd,UINT消息,WPARAM wParam,LPARAM lParam)

{

HDC hdc

PAINTSTRUCT ps

RECT矩形;

開關(消息)

{

案例WM_CREATE:

打破;

案例WM_PAINT:

hdc = begin paint(hWnd & amp;PS);

SelectObject(BGbmpDC,bgb MP 2);

BitBlt(hdc,0,0,414,460,BGbmpDC,0,0,SRCCOPY);

面漆(hWnd & amp;PS);

ReleaseDC(hWnd,hdc);

返回0;

打破;

案例WM_KEYDOWN:

開關(wParam)

{

案例VK _ numpa 1:

MessageBox(hWnd,szTitleName,szTitleName,MB _ OK);

打破;

案例VK _越獄:

PostQuitMessage(0);

打破;

}

打破;

案例WM_DESTROY:

PostQuitMessage(0);

打破;

默認值:

返回DefWindowProc(hWnd,message,wParam,lParam);

打破;

}

}

  • 上一篇:誰能告訴我壹些關於美國瑪赫西管理大學的信息,謝謝。
  • 下一篇:lammps 可以同時編譯 並行 和 單核嗎
  • copyright 2024編程學習大全網