case WM_PAINT:
PAINTSTRUCT ps;
// начинаем отрисовку
hdc = BeginPaint(hwnd, &ps);
// получаем область окна (пригодится для того что-бы узнать координаты нижней точки окна
RECT clientrc;
GetClientRect(hwnd, &clientrc);
// создаём переменную которая будет хранить область для рисования
RECT rc;
rc.left = 0;
// rc.bottom это и будет нижняя точка окна
rc.bottom = clientrc.bottom;
rc.top = clientrc.bottom - 100;
rc.right = 100;
// заливаем область чёрным (то что число 2 отвечает за чёрный я узнал методом подбора)
FillRect(hdc, &rc, (HBRUSH)2);
// заканчиваем рисовать
EndPaint(hwnd, &ps);
为了不超出限制:rc.top是你区域的顶点,rc.right是右边的,在这种情况下其余都是零,区域的大小没有指定,例如我做了100 100;
如果你需要限制超越的能力,那么在你需要的地方创建一个弹出式风格的窗口并在其中绘制,这个方法并不理想,但它确实有效。
例子:
我没有找到很好地解释 win api 的网站,这个例子是用于 gdi,在 gdi + 和 direct2d 上,它们以某种方式实现不同以进入 win api。