0

我有一个编辑控件,我想禁用任何渲染,但将其保留为交互式(类似于所有者绘制的控件)。现在,我已经对 Window 进行了子类化并捕获了 WM_PAINT,例如

SetWindowSubclass(box, [](HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, UINT_PTR, DWORD_PTR) -> LRESULT {
    if (msg != WM_PAINT)
        return DefSubclassProc(hwnd, msg, wparam, lparam);
    PAINTSTRUCT paint;
    BeginPaint(hwnd, &paint);
    EndPaint(hwnd, &paint);
    return 0;
}, 0, 0);

这可以很好地禁用几乎所有编辑框的渲染。但是,当与它交互时,它仍然偶尔会清除它要渲染的区域,当我在该空间中使用 Direct3D 进行渲染时会导致空域问题。

如何完成子类以使编辑框永远不会呈现任何内容?

4

0 回答 0