Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1181754327
sinus
2007-06-13 21:05
2007.07.15
Поиск идей и совета


15-1181924295
reonid
2007-06-15 20:18
2007.07.15
D1


2-1182462324
wesel
2007-06-22 01:45
2007.07.15
Востановить файлы проэкта


2-1182271738
Тимофей
2007-06-19 20:48
2007.07.15
Формы


2-1182207062
matt
2007-06-19 02:51
2007.07.15
текстовые файлы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский