Jia*_*ong 1 windows gdi bitblt
> case WM_PAINT:
{
> hdc = BeginPaint(hWnd, &ps);
> // TODO: Add any drawing code here...
> RECT rt;
> GetClientRect(hWnd, &rt);
> HDC myHdc = CreateCompatibleDC(hdc);
>
> DrawText(myHdc, szHello, strlen(szHello), &rt, DT_CENTER);
> BitBlt(hdc,0,0,rt.right-rt.left,rt.bottom-rt.top,myHdc,0,0,SRCCOPY);
>
> EndPaint(hWnd, &ps);
}
>
> break;
Run Code Online (Sandbox Code Playgroud)
为什么文字无法在窗口显示?
您需要创建BITMAP并在DC中选择它:
RECT rt;
GetClientRect(hWnd, &rt);
HDC myHdc = CreateCompatibleDC(hdc);
CBitmap bitmap = CreateCompatibleBitmap(hdc, width, height);
HBITMAP oldBitmap = ::SelectObject(myHdc, bitmap);
DrawText(myHdc, szHello, strlen(szHello), &rt, DT_CENTER);
BitBlt(hdc,0,0,rt.right-rt.left,rt.bottom-rt.top,myHdc,0,0,SRCCOPY);
::SelectObject(myHdc, oldBitmap);
EndPaint(hWnd, &ps);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1584 次 |
| 最近记录: |