как сделать так, чтобы текст отображался в центре окна при изменении его размера, визуальное переполнение стека

так что у меня есть этот код:

{
PAINTSTRUCT ps;
HDC hdc;

switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
TextOut(hdc,
100, 55, TEXT("some text here"), 50
);

EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
break;
}

Как сделать так, чтобы текст отображался в центре при изменении размера окна?

0

Решение

Вызовите GetClientRect, чтобы получить размеры окна. Сделайте математику, чтобы получить координату центра. Будет проще, если вы также вызовете SetTextAlign с TA_CENTER, чтобы использовать центральную точку текста в качестве координаты, которую вы даете TextOut.

2

Другие решения


По вопросам рекламы [email protected]