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

Вниз

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

Наверх




Память: 0.48 MB
Время: 0.055 c
14-1125743585
Rouse_
2005-09-03 14:33
2005.10.02
DimonF женится :)


6-1118139264
Frozen_Fish
2005-06-07 14:14
2005.10.02
Прогресс Download/Upload


2-1124808936
kyn66
2005-08-23 18:55
2005.10.02
Подскажите, в чем проблема?


2-1124182782
bogdan
2005-08-16 12:59
2005.10.02
Закрасить картинку определенным цветом


14-1126022890
-Саша-
2005-09-06 20:08
2005.10.02
VMware Workstation Problems