Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.004 c
15-1304886593
Юрий
2011-05-09 00:29
2011.08.28
С днем рождения ! 9 мая 2011 понедельник


15-1305100097
Scott Storch
2011-05-11 11:48
2011.08.28
оптимизация


15-1304595679
И. Павел
2011-05-05 15:41
2011.08.28
чтение системных журналов сообщений


1-1264484580
HF-Trade
2010-01-26 08:43
2011.08.28
Артефакты при двойной буферизации


2-1305349826
User
2011-05-14 09:10
2011.08.28
Dataset.Locate - ставит курсор посредиине таблицы




   Наверх