Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: масштабирование диалога (CDialog)  (Прочитано 5550 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ann_nef
Помогающий

ru
Offline Offline
Пол: Женский

« : 12-03-2014 05:16 » 

Здравствуйте.
Ещё раз обращаюсь к вам за помощью.

Программа на visual c++ 6  + MFC.

Необходимо, чтобы при изменении разрешения дисплея, диалог (CDialog) не вылезал на пределы экрана.

Прочитала и попробовала то, что написано Алексеем на этом форуме.
С элементами всё более-менее понятно, а как сам диалог CDialog отмасштабировать? Не понял
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 12-03-2014 07:33 » 

В общем случае это задача нетривиальная и сильно зависит от содержания диалога. В любом случае будет некий минимальный размер, меньше которого диалог не может сжаться без потери работоспособности.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
ann_nef
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #2 : 12-03-2014 13:02 » 

Спасибо, за ответы.
Буду разбираться.

Проблема возникла из-за того, что рисовала диалог со множеством эл-тов с помощью MFC при одном разрешении (1920*1080),
а программу использовали на других рабочих местах, где разрешение настолько другое(например,1280*1024 или 800*600), что диалог не влезает на экран.

Может быть я неправильно вопрос задала?  А черт его знает... Мб есть какой-то другой путь решения проблемы?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 12-03-2014 13:57 » 

ann_nef, конечно есть. Диалог сначала рисуется под минимальный размер, а затем часть его элементов делаются растягиваемыми под большие разрешения. Это если надо. Поскольку обычно диалоговые окна вообще размер не меняют. Тогда оставляешь минимальный размер.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #4 : 12-03-2014 22:07 » 

Всё, что я говорил - забудь. Это относилось не к твоей проблеме, а к изменению РАЗРЕШЕНИЯ экрана, то бишь числа dpi.
Путь решения твоей проблемы один. Современной науке неизвестно вмещение большого в малое. Поэтому диалог, как сказал Димка, надо делать изначально таких размеров, чтобы он помещался на минимально требуемом экране.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
ann_nef
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #5 : 13-03-2014 06:32 » new

Да, я уже так и сделала.
Жаль, что программисты не всемогущи! Жаль
Спасибо за участие.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines