小编Mik*_*łaj的帖子

离屏绘图GDI +

我有一个问题 - 我需要绘制两个png文件,一个在另一个上.当我按常规方式进行时,会出现"闪烁"效果(第一张图片在很短的时间内透过第二张图片).我使用GDI +库,我的WM_PAINT处理如下所示:

case WM_PAINT:
{
    PAINTSTRUCT ps; 
    HDC hdc = BeginPaint( hwnd, & ps );
    displayImage(firstImage, hwnd);
    displayImage(secondImage, hwnd);
    EndPaint( hwnd, & ps );
    break;
}
Run Code Online (Sandbox Code Playgroud)

displayImage函数:

void displayImage(HBITMAP mBmp, HWND mHwnd)
{
    RECT myRect;
    BITMAP bm;
    HDC screenDC, memDC;
    HBITMAP oldBmp;
    BLENDFUNCTION bf;

    GetObject(mBmp, sizeof(bm), &bm);

    bf.BlendOp = AC_SRC_OVER;
    bf.BlendFlags = 0;
    bf.SourceConstantAlpha = 0xff;

    bf.AlphaFormat = AC_SRC_ALPHA;

    screenDC = GetDC(mHwnd);
    GetClientRect(mHwnd, &myRect);

    if (mBmp == NULL)
        FillRect(screenDC, &myRect, WHITE_BRUSH);

    else
    {
        memDC = CreateCompatibleDC(screenDC);
        oldBmp = …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

5
推荐指数
1
解决办法
969
查看次数

在winapi的多行按钮

如何在winAPI中创建多行按钮(\n或甚至\ r \n不起作用).这是代码:

HWND hPrzyciskoff = CreateWindowEx( 0, "BUTTON", "Play offline", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 410, 550, 380, 25, hwnd, NULL, hInstance, NULL );
Run Code Online (Sandbox Code Playgroud)

c++ winapi button

1
推荐指数
1
解决办法
430
查看次数

标签 统计

c++ ×2

winapi ×2

button ×1