Golly-plops & turtle tops!
I’ve sub-classed a ListView with the intent of making it into my own TreeView! Jeepers!
I want it to draw this, but with the TreeView + and - marks on the left side:

To that end I’ve crafted up the following code inside the sub-class routine:
case WM_PAINT : {
RECT clientRect;
GetClientRect(_hWnd, &clientRect);
PAINTSTRUCT ps;
HDC hdc = BeginPaint(_hWnd, &ps);
// Create a compatible memory DC and bitmap
HDC memDC = CreateCompatibleDC(hdc);
HBITMAP memBitmap = CreateCompatibleBitmap(hdc, clientRect.right, clientRect.bottom);
HBITMAP oldBitmap = (HBITMAP)SelectObject(memDC, memBitmap);
// Now do your custom drawing on memory DC
RECT rcButton = {10, 50, 30, 70};
DrawFrameControl(memDC, &rcButton, DFC_BUTTON, DFCS_BUTTONCHECK);
// Call the original window procedure to draw into memory DC
LRESULT lrRes = CallWindowProcW(wpOrig, _hWnd, _uMsg, _wParam, (LPARAM)memDC);
// Blit the memory DC to screen
BitBlt(hdc, ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right - ps.rcPaint.left,
ps.rcPaint.bottom - ps.rcPaint.top, memDC, ps.rcPaint.left, ps.rcPaint.top, SRCCOPY);
// Clean up
SelectObject(memDC, oldBitmap);
DeleteObject(memBitmap);
DeleteDC(memDC);
EndPaint(_hWnd, &ps);
return lrRes;
}
But instead of my dreams, I get this:

Jumpin’ Jehoshaphat!
The first issue is: What on Earth could be wrong, Daddy-O?
And the 2nd issue is: I want to draw the TreeView + and - but they are not defined. Is DFCS_BUTTONPLUS
a thing? I’m only using DFCS_BUTTONCHECK
for testing.