Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2021, 18:05   #1
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию Размер дочерних окон

Есть окно диалога, в нём три поля ввода класса "edit", один список класса "combobox" и две кнопки собственных классов. Сейчас размер обоих эдитов 9x30мм, комбобокса – 58x40мм. Но что-то мне это не нравится. На моей машине всё выглядит прилично. А как гарантировать, что текст влезет в эти окна по высоте? С кнопками просто: вывожу текст в своём обработчике шрифтом высотой 7 мм и сам рисую рамки. А как быть со стандартными окошками?
taras-proger77 вне форума Ответить с цитированием
Старый 03.09.2021, 07:00   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

а там, разве, автоматически не подгоняется высота EDIT'ов и COMBOBOX'а по размеру шрифта?
скриншот приложи для ясности, чтоб видеть, чего не хватает вашей душеньке для счастья.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 03.09.2021, 07:27   #3
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

NetSpace, в WinAPI ничего не подгоняется)

taras-proger77, если нет таки желания перейти на Qt, то можно попробовать так:

1) достать текст из едита
2) достать текущий HDC едита (GetDC/ReleaseDC)
3) воспользоваться GetTextExtentPoint32
4) по полученным размерам определить новый требуемый размер клиентского прямоугольника

далее - достаётся текущий размер клиентского (GetClientRect), и если он не равен требуемому, то

5) воспользоваться AdjustWindowRectEx
6) вызвать MoveWindow

Последний раз редактировалось Алексей1153; 03.09.2021 в 07:31.
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перекрытие дочерних окон mikado3333 Win Api 8 25.05.2017 19:36
Поиск дочерних окон shanluu C# (си шарп) 1 22.01.2014 22:04
Затирание дочерних окон winapi x_Alex_x Помощь студентам 12 14.01.2013 21:12
Затиание дочерних окон x_Alex_x Помощь студентам 0 13.01.2013 12:56
Поведение дочерних окон maryan.vetrov C# (си шарп) 9 27.02.2011 18:09