Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

Задать положение компонента   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.02 c
15-1182220216
Slider007
2007-06-19 06:30
2007.07.15
С днем рождения ! 18 июня 2007 понедельник


15-1181491867
ANTPro
2007-06-10 20:11
2007.07.15
Есть идея :)


15-1181749507
Углук
2007-06-13 19:45
2007.07.15
Теория вероятности-лженаука?


15-1181700973
Slider007
2007-06-13 06:16
2007.07.15
С днем рождения ! 13 июня 2007 среда


2-1182625728
Gringoire
2007-06-23 23:08
2007.07.15
Картинки и БД