![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с размерами 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