请教各位达人这段代码的含义

PackChen PackChen 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
LRESULT CALLBACK CVisualExt::WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
CVisualExt* ext = (CVisualExt*)::GetWindowLong(hwnd, GWL_USERDATA);

switch(uMsg)
{
case WM_CREATE:
return 0;

case WM_SIZE:
return 0;

case WM_COMMAND:
return 0;

case WM_ERASEBKGND:
return 1;

case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);

RECT rc;
GetClientRect(hwnd, &rc);

HDC lmemdc = CreateCompatibleDC(hdc);
HBITMAP hmembmp = CreateCompatibleBitmap(hdc, rc.right - rc.left, rc.bottom - rc.top);
HBITMAP oldbmp = (HBITMAP)SelectObject(lmemdc, hmembmp);

memdc = lmemdc;

ext->TriggerEvent("onpaint");

BitBlt(hdc, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, lmemdc, 0, 0, SRCCOPY);

SelectObject(lmemdc, oldbmp);
DeleteObject(hmembmp);
DeleteDC(lmemdc);
EndPaint(hwnd, &ps);
return 0;
}
}

return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
PackChen
VC/MFC 16,550 成员 421,606 内容