У меня нет текста, но он поднялся по региону моего окна, как я могу это исправить?
Здесь часть моего кода
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);
Текст будет намного длиннее, чем «Некоторый текст».
использование DrawText()
вместо TextOut()
, DrawText позволяет указать прямоугольник для обрезки текста. DrawText()
также может быть использован для расчета размера прямоугольника, который будет необходим.
Других решений пока нет …