Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];

Вниз

Splitter при установке св-ва Panel3.Visible:=true отказывается   Найти похожие ветки 

 
Michael5   (2005-09-09 21:39) [0]

работать. Помогите разобраться!

Суть такова: создаю форму, компоненты на ней с такими свойствами:
Panel1.Align:=alTop;
Splitter1.Align:=alTop;
Panel2.Align:=alClient;
Запускаю программу.
При этом я могу сдвигать сплиттер до самого верха или низа.

А теперь мне нужно, чтобы при смещении сплиттера до самого верха у меня становилась видна еще одна панель. Я это пытаюсь сделать следующим образом. Создаю на форме в любом месте Panel3 (Visible:=false), и делаю обработчик перемещения сплиттера:

procedure TForm1.Splitter1Moved(Sender: TObject);
begin
if Splitter1.Top=0 then
panel3.Visible:=true;
end;


При этом, если это условие срабатывает, сплиттер клинит - он больше не сдвигается с места.
Установка свойства panel3.Visible в true во время выполнения программы при промежуточных положениях сплиттера такого эффекта не дает - он продолжает работать.

Помогите разобраться пожалуйста!


 
Michael5   (2005-09-09 22:13) [1]

Хм, не разобрался, но стало работать...

Видоизменил код обработчика:

procedure TForm1.Splitter1Moved(Sender: TObject);
begin
if Splitter1.Top=0 then begin
Splitter1.Top:=50;
panel3.Visible:=true;
end;


Причем эта строка в общем-то не срабатывает, Top все равно нулю остается равен, и сплиттер на том же месте, однако живой... :)

Ничего не понимаю


 
DesWind ©   (2005-09-09 22:13) [2]

3-я панель с какими свойствами выравнивания (если вторая alClient)?


 
Michael5   (2005-09-09 22:21) [3]

alNone, или alBottom; находится на самой форме Form1, или на панели, к примеру, на Panel2 - ошибка, и лечение действительны для всех случаев


 
DesWind ©   (2005-09-09 22:31) [4]

А alCustom?


 
Michael5   (2005-09-09 22:42) [5]

Легко. И туда, и сюда...

Нашел связь Splitter1.Top:=50 с "оживлением" сплитера. Эта величина должна быть больше высоты сплиттера (по умолчанию она равна 3, так что как минимум Splitter1.Top:=4)


 
DesWind ©   (2005-09-09 22:46) [6]

Как мне кажется (хоть и креститься надо, но поболтать хочеться) тогда надо учитыать скорость движения мыши, может не сработать.


 
Michael5   (2005-09-09 22:59) [7]


> Как мне кажется (хоть и креститься надо, но поболтать хочеться)
> тогда надо учитыать скорость движения мыши, может не сработать.


Не, я так не думаю - OnMoved - это похоже на прошедшее время. По крайней мере, там явно идет обработка до или после. А уж с какой скоростью ты туда приехал - их это не интересует :)


 
DesWind ©   (2005-09-09 23:10) [8]

Не, я не о том. dX,dY по времени, мышки может превышать скорость отправки сообщений... Т.е. щас (4,4), а следующее (10,10). Но это так... Офф. топ. Пятница, дома, один... ))))



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
1-1126629913
Дмитрий_05
2005-09-13 20:45
2005.10.02
Popup меню раскрыть и скрыть


1-1126176960
Рафик
2005-09-08 14:56
2005.10.02
ListBox1 - Двойной щелчок


1-1126603136
KiBERMiKE
2005-09-13 13:18
2005.10.02
AnimateWindow и XPManifest


1-1126116257
The Only
2005-09-07 22:04
2005.10.02
bdu?


1-1126683651
Tonich
2005-09-14 11:40
2005.10.02
Структура (запись)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский