防止编辑控件呈现

时间:2012-11-20 15:42:28

标签: winapi

我有一个编辑控件,我想禁用任何渲染,但将其保留为交互式(类似于所有者绘制的控件)。现在,我已经将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在该空间中渲染时会导致空域问题。

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

0 个答案:

没有答案