Форум: "Прочее";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
ВнизЗадать положение компонента Найти похожие ветки
← →
ILUT © (2007-06-18 15:13) [0]Можно ли задать положение компонента на форме с помощью координат монитора? И если можно то как?
← →
Desdechado © (2007-06-18 15:33) [1]???
А если "координаты монитора" за пределами твоего окна?
← →
Anatoly Podgoretsky © (2007-06-18 15:47) [2]Теоритически можно, практически нет.
← →
AntiUser © (2007-06-18 15:58) [3]Ну допустим координаты монитора еще можно узнать, с помощью GPS, например. А вот как потом узнать координаты формы... Это вопрос...
← →
ILUT © (2007-06-18 16:18) [4]Ну вот я и хотел узнать можно ли это сделать. Наверно я некорректно сформулировал вопрос. У меня есть идея:сложив значения Form1.top и Form1.height мы получим координату. Как задать эту координату для какогото компонента, чтобы он был расположен на нижней границе окна формы, через координаты монитора(как для формы ее значение Top)? И можно ли так сделать?
← →
iXT © (2007-06-18 16:59) [5]> Наверно я некорректно сформулировал вопрос
Это точно
> сложив значения Form1.top и Form1.height мы получим координату
Тут вы получите половину периметра окна :)
> через координаты монитора
Это что за зверь?
← →
Inco (2007-06-18 17:30) [6]Изврат еще тот!
Для того, чтобы расположить компонент на нижней границе окна - необязательно знать "координаты монитора".
← →
Johnmen © (2007-06-18 17:39) [7]
> необязательно знать "координаты монитора".
Правильно! Достаточно знать координаты стола, на котором стоит монитор.
← →
ILUT © (2007-06-18 17:44) [8]Описано жестоко согласен. Постановка задачи не содержала всей сути, отсюда и такой результат. У формы есть вертикальная полоса прокрутки. Также на форме расположена панель. Мне надо, чтобы при скролинге панель перемещалась к нижней границе. Панель всегда должна распологпться на нижней границе. Но я не знаю как получить координату нижней границы, отображаемой на данный момент, части окна. Всевозможные ClientHeight и VertScrollBar.Position (мне уже их писали) это все не то. Из-за недостатка знаний всех св-в и методов пытаюсь вымудрить что-нибудь, чтобы это реализовать. Есть ли у кого идеи как это можно сделать через координаты мониторы иль еще как-нить? Помогите, плиз!
← →
homm © (2007-06-18 18:01) [9]panel.top := VertScrollBar.Position+form.height-panel.height;
← →
oldman © (2007-06-18 18:04) [10]
> У формы есть вертикальная полоса прокрутки. Также на форме
> расположена панель. Мне надо, чтобы при скролинге панель
> перемещалась к нижней границе.
неправильно расположил объекты на форме
← →
oldman © (2007-06-18 18:06) [11]Установи на форме Панель1 (так тебе нужную) и Панель2 со всем остальным.
Панель1 всегда внизу, на Панели2 - полоса прокрутки.
:)))
← →
Inco (2007-06-18 18:08) [12]Сразу могу указать на неисправимый глюк, на который ты нарвешься:
Можно так подобрать размер формы, что
- панель снизу - появляется полоса прокрутки
- положение панели пересчитывается - панель поднимается наверх, полоса прокрутки исчезает
- Вах!!! Положение панели - поверх компонентов, полосы прорутки нет. Либо что-нибудь еще более интересное.
← →
Inco (2007-06-18 18:10) [13]Можно как посоветовал oldman © (18.06.07 18:06) [11], только на Панель2 надо положить ScrollBox, иначе на ней не появятся полосы прокрутки.
← →
oldman © (2007-06-18 18:11) [14]А еще есть такая штука - Frame.
Очень помогает начинающим... :)))
← →
oldman © (2007-06-18 18:12) [15]
> Inco (18.06.07 18:10) [13]
> только на Панель2 надо положить ScrollBox
Надо еще и код к ней написать...
:))))))))))))))
← →
Inco (2007-06-18 18:18) [16]2 oldman © (18.06.07 18:12) [15]
> Надо еще и код к ней написать...
> :))))))))))))))
Да не, нахнадо!
У настоящих перцев и так должно работать.
← →
oldman © (2007-06-18 18:26) [17]
> Inco (18.06.07 18:18) [16]
У настоящих перцев панель ВСЕГДА!!! убирается на форме...
:)))
← →
homm © (2007-06-18 19:41) [18]Держи, пацанчик.
procedure TForm1.FormResize(Sender: TObject);
begin
panel1.top :=form1.Clientheight-panel1.height;
end;
procedure TForm1.FormConstrainedResize(Sender: TObject; var MinWidth,
MinHeight, MaxWidth, MaxHeight: Integer);
begin
panel1.top :=form1.Clientheight-panel1.height;
end;
← →
ILUT © (2007-06-18 20:31) [19]homm не серчай, но твои идеи и коды не верны... И кслову я НЕ пацанчик...
> неправильно расположил объекты на форме
Почти все компоненты формы создаются динамически и количество компонентов на ней ограничивается только воображением пользователя.
> - панель снизу - появляется полоса прокрутки
> - положение панели пересчитывается - панель поднимается
> наверх, полоса прокрутки исчезает
> - Вах!!! Положение панели - поверх компонентов, полосы прорутки
> нет. Либо что-нибудь еще более интересное.
Полосы прокрутки не исчезнут, так как ниже будут располагаться компоненты и то что панель поверх других компонентов так и должно быть в задумке. А если и нужно было бы панель опустить под компоненты, то это лекго сделать.
Идеи с панелями и фреймами хорошие, мне понравились, правдо придется координально поменять код в приложении, т.к почти все на форме создается динамически.
Спасибо всем за помощь и советы.
← →
homm © (2007-06-18 20:36) [20]> homm не серчай, но твои идеи и коды не верны... И кслову
> я НЕ пацанчик...
Ну тогда я вобще не понял, что нужно. Скриншотик, что-ли сделай.
← →
Panel (2007-06-18 22:15) [21]Panel1.Align := alBottom;
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.042 c