Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2011.03.20;
Скачать: [xml.tar.bz2];

Вниз

Неверное срабатывание якорей, когда форма в дизайне меньше экрана   Найти похожие ветки 

 
Kolan ©   (2009-08-04 14:01) [0]

Здравствуйте!

Столкнулся с такой ситуацией:

Есть резиновая (то есть форма может растягиваться и сжиматься без последствий для удобства использования) форма. Резиновось реализована с помощью якорей и обычно работает. При старте форма разворачивается на весь экран.

У программиста монитор 19", поэтому в дизайнере форма у него довольно крупная (какая разница, все равно при старте растянется или сожмется до нужного размера). Оказывается, что если размер формы в дизайнере будет больше чем экран пользователя, то якоря сработают не верно.

http://img-fotki.yandex.ru/get/3510/ksoftware.b/0_2de7b_1163e289_orig

На рисунке выше видно, что форма как бы обрезана, причем если её сжимать, то она масштабируется, сохраняя такой обрезанный вид.

Как я понял проблема в том, что якоря начинают работать не в тот момент. Видимо происходит все так:

1. Допустим форма по вертикали в дизайнере 900 пикселей, а у пользователя их всего 600.
2. При запуске форма создается такой, как в дизайнере и вылазит за экран.
3. Форма разворачивается на весь экран, но якоря еще не работают и контролы не сжимаются.
4. Начинают работать якоря, но все уже испорчено.

Лечится это сжатием формы в дизайнере, но такое решение мне кажется опасным, потому что можно забыть это сделать.

Как правильно решить проблему?


 
Игорь Шевченко ©   (2009-08-04 14:11) [1]


> Как правильно решить проблему?


свойством Position ?


 
Kolan ©   (2009-08-04 15:00) [2]

Хм, если выставить poDefault (оно же имелось в виду?), то проблемы возникают и на большом разрешении.

http://img-fotki.yandex.ru/get/3609/ksoftware.b/0_2de7e_fad4fa6_orig

Размеры контролов соответствуют их размерам в дизайнере.


 
Игорь Шевченко ©   (2009-08-04 15:37) [3]


> При старте форма разворачивается на весь экран.


в дизайнере windowstate = wsMaximized не пробовал ?


> если выставить poDefault (оно же имелось в виду?),


У свойства Position есть несколько значений. Извини, из твоих рисунков непонятно, в чем у тебя проблема


 
CSS   (2009-08-04 17:38) [4]

Я думаю надо всё вручную масштабировать...

А то якоря эти всегда как-то криво работают... =(


 
Palladin ©   (2009-08-04 17:44) [5]

Я масштабировал все в ручную, при запуске приложения. Грубо говоря инициализировал его (расположение). Дальше все само работало. Вообще рекомендую инициализировать размеры и положения всегда в ручную. Ибо вся эта кухня жестко ломается не только при заведомо меньших размерах экрана, но так же и при изменении разрешения шрифта в системе.


 
DVM ©   (2009-08-05 01:25) [6]


> Я масштабировал все в ручную, при запуске приложения.

Я аналогично делал.


 
CSS   (2009-08-05 01:46) [7]

А я при изменении размера делал... В процентах размеры ставил... ^__^


 
RWolf ©   (2009-08-05 09:56) [8]

А я использую для задания авторазмеров только свойство Align, компоненты размещаю в панелях-контейнерах; таким образом избавляюсь от проблемы с показом формы при нестандартных PixelsPerInch.


 
Kolan ©   (2009-08-05 13:33) [9]

А, вот, комбинация wsMaximized в дизайнере + poDefault кажется работает.

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

Игорь, благодарю за подсказки.


 
Хитрий Лис   (2009-08-06 17:06) [10]

Удалено модератором
Примечание: Offtopic



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2011.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
2-1293407915
Тимоха111
2010-12-27 02:58
2011.03.20
динамический pagecontol и событие к нему


2-1293354256
nza
2010-12-26 12:04
2011.03.20
Массив свовойств


1-1248801245
Sergey
2009-07-28 21:14
2011.03.20
Ищу функцию, чтобы рисовать на картинке формулы с дробью


15-1291469704
xayam
2010-12-04 16:35
2011.03.20
Трансляция шахматных партий


11-1227810366
Jon
2008-11-27 21:26
2011.03.20
Activemovie





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский