![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TSplitter [D7]
Wold © (2008-03-29 18:28:00)Допустим на форме растянуты две панели, между ними TSplitter, хочу сохранить его положение в файл, а потом считать. Но, я не пойму как и какое значение считывать и записывать из TSplitter. Что подскажете?
Плохиш (2008-03-30 00:02:00) [1]
> Kolan © (29.03.08 23:35) [11]
> Представь себе лучьше
Не такого я себе представить не могу...
korneley (2008-03-29 23:52:00) [2]
>Kolan © (29.03.08 23:35) [11]
> то возможен случай:
Дык, если запоминать, то всё. И форму, и положение ея, и свернуто/максимизимировано приложение, и то что у нея "внутре"...
> Чтобы все пропроционально ресайзилось
Раз на раз не приходится. Бывает так, что одно только "тянуть" и нужно :) Но к сохранению/восстановлению это не имеет никакого отношения.
Kolan (2008-03-29 23:35:00) [3]Представь себе лучьше. Например если не хранить размер самого окна, то возможен случай:
При закрытии панель была 500пикс и мы это запомнили.
А при открыти программы вновь, само форма всего 600, и что получится?
Кроме того, часто, так же правильнее, делать и при ресайзе формы. Чтобы все пропроционально ресайзилось, а не просто что-то одно тянулось...
Плохиш (2008-03-29 21:21:00) [4]
> Kolan © (29.03.08 21:10) [9]
> Хран лучьше процентный размер одной из панелей. И востанавливай
> её ширину из процентов.
А ещё лучше дифференциал и востанавливать через интеграл ;-)
Kolan (2008-03-29 21:10:00) [5]Хран лучьше процентный размер одной из панелей. И востанавливай её ширину из процентов.
korneley (2008-03-29 20:44:00) [6]
> Dark © (29.03.08 20:04) [7]
Сам, сам :) А точнее его подтянут без нашего участия. А вот рулить шириной панели (если панельalLeft) черезSplitter1.Leftне получится. Тем более, черезPanel1.Left. Правда, можно добиться перестановки их местами (панели и сплиттера), но оно нам нужно?
Dark (2008-03-29 20:04:00) [7]Ага..ну если сам, то можно и так)
korneley (2008-03-29 19:50:00) [8]Имел ввиду, что просто пишем
WidthилиHeightпанели, которая не alClient. Сплиттер не трогаем, сам "подтянется".
trubin (2008-03-29 19:47:00) [9]Только не у той панели, у которой Align = alClient
Dark (2008-03-29 19:41:00) [10]
> korneley ©
Ну, записываем left, если сплиттер делит вертикально и top, если горизонтально. А потом это же значение присваиваем верт.\гориз. параметру сплиттера.
korneley (2008-03-29 19:14:00) [11]
> Dark © (29.03.08 19:09) [2]
может Width или Height имелось в виду?
Dark (2008-03-29 19:09:00) [12]Я так понимаю у тебя одна панель в любом случае будет или справа, или внизу. Соответственно записывай её top или left значения
Palladin (2008-03-29 18:34:00) [13]из сплиттера никакого. считывать нужно с контрола. в твоем случае с одной из панелей.