Как ограничить текстовую область моим окном?

У меня нет текста, но он поднялся по региону моего окна, как я могу это исправить?
Здесь часть моего кода

PAINTSTRUCT ps;
hdc=BeginPaint(hWnd3,&ps);
LOGFONT lf;
lf.lfWidth=0;
lf.lfHeight=14;
strcpy(lf.lfFaceName,"Times New Roman");
lf.lfEscapement=lf.lfStrikeOut=lf.lfUnderline=0;
lf.lfClipPrecision=CLIP_DEFAULT_PRECIS;
lf.lfCharSet=1251;
lf.lfOrientation=0;
hf=CreateFontIndirect(&lf);
SelectObject(hdc,hf);
SetTextAlign(hdc,TA_CENTER);
GetClientRect(hWnd,&r);
TextOut(hdc,r.right/2,r.bottom/2,"Some text",strlen("Some text"));
DeleteObject(hf);
EndPaint(hWnd3,&ps);

Текст будет намного длиннее, чем «Некоторый текст».

2

Решение

использование DrawText() вместо TextOut(), DrawText позволяет указать прямоугольник для обрезки текста. DrawText() также может быть использован для расчета размера прямоугольника, который будет необходим.

2

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

Других решений пока нет …

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