[MS Smartphone]Double Buffering Using Native C Code

王朝c/c++·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

void CreateGrphicMenuWin()

{

WNDCLASS wc;

RECT rect;

ZeroMemory(&wc, sizeof(wc));

...

wc.lpfnWndProc = (WNDPROC)MenuWinProc;

...

//RegisterClass(&wc)

//CreateWindow

//ShowWindow

//UpdateWindow

}

BOOL CALLBACK MenuWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

{

LRESULT lResult = 0;

PAINTSTRUCT ps;

switch(msg)

{

...

case WM_PAINT:

{

HDC hDC = BeginPaint(hwnd,&ps);

DrawGraphicMenuBar(hwnd,hDC);

EndPaint (hwnd, &ps);

}

return 0;

...

}

return (DefWindowProc(hwnd, msg, wParam, lParam));

}

void DrawGraphicMenuBar(HWND hwnd, HDC hDC)

{

HDC hMemDC = CreateCompatibleDC(hDC);

HDC hDrawDC = CreateCompatibleDC(hDC);

HBITMAP hBitmap, hOldbmp;

HBITMAP hBgTitle, hPlay, hStop;

HBITMAP hOldBgTitle, hOldPlay, hOldStop;

hBitmap = CreateCompatibleBitmap(hDC, PHONEWIDTH, MENUHEIGHT);

hOldbmp = (HBITMAP)SelectObject(hMemDC, hBitmap);

hBgTitle = LoadBitmap(context->hInst, MAKEINTRESOURCE(IDB_SBGTITLE));

hOldBgTitle = (HBITMAP) SelectObject(hDrawDC, hBgTitle);

BitBlt(hMemDC, 0, 0, PHONEWIDTH, MENUHEIGHT, hDrawDC, 0, 0, SRCCOPY);

SelectObject(hDrawDC, hOldBgTitle);

DeleteObject(hBgTitle);

hPlay = LoadBitmap(context->hInst, MAKEINTRESOURCE(IDB_SPLAY));

hOldPlay = (HBITMAP) SelectObject(hDrawDC, hPlay);

BitBlt(hMemDC, LEFTSPACE, TOPSPACE, PLAYPAUSEWIDTH, ICONHEIGHT, hDrawDC, 0, 0, SRCCOPY);

SelectObject(hDrawDC, hOldPlay);

DeleteObject(hPlay);

hStop = LoadBitmap(context->hInst, MAKEINTRESOURCE(IDB_SSTOP));

hOldStop = (HBITMAP) SelectObject(hDrawDC, hStop);

BitBlt(hMemDC, PLAYPAUSEWIDTH+LEFTSPACE, TOPSPACE, STOPWIDTH, ICONHEIGHT, hDrawDC, 0, 0, SRCCOPY);

SelectObject(hDrawDC, hOldStop);

DeleteObject(hStop);

BitBlt(hDC, 0, 0, PHONEWIDTH, MENUHEIGHT, hMemDC, 0, 0, SRCCOPY);////

SelectObject(hMemDC, hOldbmp);

DeleteObject(hBitmap);

DeleteDC(hMemDC);

DeleteDC(hDrawDC);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航