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

Вниз

Двойной клик по RXsplitter   Найти похожие ветки 

 
Spot   (2010-01-25 09:14) [0]

На форме есть 2 панели (как в Tjtal Commander) между ними RXsplitter (у обычного Splitter нет события ondblclick)
Panel1.align=alClient
Panel2.align=alRight
RXsplitter1.align=alRight
При двойном клике, хочу, чтобы RXsplitter разделил Панели на по центру окна.
procedure TForm1.RxSplitter1DblClick(Sender: TObject);
begin
Panel2.Width:=round(Form1.Width/2);
end;

Запускаю, премещаю сплиттер немного налево, делаю двойной клик, сплиттер очень быстро перемещается в центр и сразу возвращается обратно.
Оказывается если второй клик не отпускать, то сплиттер остается в центре, как только отпускаешь кнопку, тут же возвращается. Это глюк или что?


 
DimaBr ©   (2010-01-25 10:30) [1]

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
brother ©   (2010-01-25 10:40) [2]

> Это глюк или что?

так и должно быть ведь:

> RXsplitter1.align=alRight

а это что за шаманство?

> Panel2.Width:=round(Form1.Width/2);


 
Spot   (2010-01-25 11:30) [3]

Братан, а как рализовать эту идею?


 
Spot   (2010-01-25 11:35) [4]

Добавляю кнопку, в обработчике клика пишу:

procedure TForm1.Button1Click(Sender: TObject);
begin
Panel2.Width:=round(Form1.Width/2);
end;


Все нормально работает


 
KSergey ©   (2010-01-25 11:48) [5]

> Spot   (25.01.10 11:35) [4]
> Добавляю кнопку, в обработчике клика пишу:
> Все нормально работает

Тогда, видимо, событие двойного клика для этого не подходит.
Предлагаю в двойном клике посылать чебе сообщение через PostMessage, а в обработчике сообщения делать все, что нужно.


 
brother ©   (2010-01-25 12:04) [6]

> а как рализовать эту идею?

для начала разобраться с

> Panel2.Width:=round(Form1.Width/2);


 
unitay   (2010-01-26 17:09) [7]

Используй этот: http://decoding.narod.ru/download/mycomponent/updatesplitter.zip компонент, он реализован наиболее просто.

ps: round(Form1.Width/2); лучше было бы заменить на (Form1.Width div 2)



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

Текущий архив: 2011.08.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
8-1215334418
leonidus
2008-07-06 12:53
2011.08.28
Добавление посторонней информации в JPEG-файл


2-1305274898
Panky
2011-05-13 12:21
2011.08.28
перемешение по таблице


2-1305300970
Gu
2011-05-13 19:36
2011.08.28
Курсоры


4-1230131731
Добежал
2008-12-24 18:15
2011.08.28
Получения пути к папке "Мои документы" (CSIDL_PERSONAL)


2-1305239422
Германн
2011-05-13 02:30
2011.08.28
Тип AniString