Высота элемента управления STATIC по умолчанию равна 8 (единицам диалога), и текст умещается, но DrawText() DT_CALCRECT C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Высота элемента управления STATIC по умолчанию равна 8 (единицам диалога), и текст умещается, но DrawText() DT_CALCRECT

Сообщение Anonymous »

Внутри диалога я проверил элемент управления STATIC, который был создан с использованием высоты по умолчанию, равной 8 единицам диалога, в редакторе ресурсов. Текст выглядит нормально.
Однако, если я проверю требуемую высоту текста с помощью DrawText() с помощью DT_CALCRECT, он тоже скажет, что это 3 пикселя (предполагаемые пиксели). маленький? В нем говорится, что существующая высота элемента управления STATIC равна 13, но вычисление прямоугольника текста говорит, что она должна быть 16; если оно равно 16, оно выглядит слишком большим по сравнению с элементом управления, который следует за ним.
Почему там написано, что должно быть 16, хотя кажется, что 13 работает нормально?
CString cstr=_T("Some Text...");
CRect textsize;
m_ctlStaticText.GetDC()->DrawText(cstr, &textsize, DT_CALCRECT);
CRect rect;
m_ctlStaticText.GetWindowRect(rect);


Подробнее здесь: https://stackoverflow.com/questions/787 ... t-drawtext
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»