Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с размерами ToolbarBurron и не только...


eSKey ©   (2002-04-22 17:10:00) 

Мне нужно в моей проге сделать такую возможность, чтобы она могла сворачиваться до размеров по высоте = тулбара+caption+statusbar и по ширине так, чтобы вмещать все кнопки на тулбаре. я делаю в MainForm.FormCreate следующее:

begin
//определяем системные габариты
yCaption:=getsystemmetrics(SM_CYCAPTION);
yFrame:= getsystemmetrics(SM_CYFRAME);
yFrame:=yFrame*2;
minYsize:=yFrame+yCaption+MyToolBar.ButtonHeight+MyStatusBar.Height;
minXsize:=MyToolBar.ButtonCount*MyToolBar.ButtonWidth
+getsystemmetrics(SM_CXFRAME)*2;

Потом где надо делаю height:=minYsize и width:=minXsize.
Это все замечательно пашет на том же разрешении, какое стоит у меня при написании (800х600). А на других компах, с более высоким разрешением, высота получается меньше - "съедается" несколько пикселов снизу кнопок, ширина вообще меньше раза в полтора.

Еще хуже с Grid"ом - для него у меня оба скроллбара включены. И опять же - они отбражаются на моем компе, и просто исчезают на других... :(
Помогите, плз!


eSKey   (2002-04-22 18:29:00) [1]


> Андрей Сенченко


Жаль сейчас проверить не могу :( Т.е. сам проект загрузил, но на другом компе, поэтому не могу судить о сохранении/искажении размеров. Однако при загрузке формы в дизайн моде наблюдал тоже съедение нижней границы - самим тулбаром. Выставил MyToolBar.AutoSize:=True (было фальс), он размер подогнал. Может от этого зависит?

С Grid"ом - Scrollbars стоит ssBoth, также Anchors:=[akLeft,akTop,akRight,akBottom] - при этом видно, что нижняя и правая границы уехали куда-то за форму (дома этого не было!). Выставил Align:=alClient - похоже стало нормально. Дома попробую, завтра напишу. А пока идеи приветствуются!
Спасибо.


Андрей Сенченко   (2002-04-22 17:58:00) [2]

В инспекторе объектов:
Form1.Scaled := false
возможно решит проблемы


eSKey   (2002-04-22 17:44:00) [3]


> Malder


Понимаешь, по идее мне должно быть фиолетово на разрешение экрана - ведь как я понимаю, getsystemmetrics возвращает нужные мне размеры именно для текущего разрешения во время выполнения. Я подозреваю, что дельфи оптимизирует там чего не надо, и заменяет вызов функции на константу :(


Malder   (2002-04-22 17:22:00) [4]

Вопрос у тебя путанный, пожалуйста, разъясни поподробнее.

Если тебе нужно узнать разрешение экрана, то используй Screen.Width и Screen.Height


Наверх

Титульная страница Поиск, карта сайта Написать письмо