Конференция "Основная" » Двойной клик по RXsplitter [D7, WinXP]
 
  • Spot (25.01.10 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 © (25.01.10 10:30) [1]
    Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
    Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
  • brother © (25.01.10 10:40) [2]
    > Это глюк или что?

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

    > RXsplitter1.align=alRight

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

    > Panel2.Width:=round(Form1.Width/2);
  • Spot (25.01.10 11:30) [3]
    Братан, а как рализовать эту идею?
  • Spot (25.01.10 11:35) [4]
    Добавляю кнопку, в обработчике клика пишу:

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



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

    Тогда, видимо, событие двойного клика для этого не подходит.
    Предлагаю в двойном клике посылать чебе сообщение через PostMessage, а в обработчике сообщения делать все, что нужно.
  • brother © (25.01.10 12:04) [6]
    > а как рализовать эту идею?

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

    > Panel2.Width:=round(Form1.Width/2);
  • unitay (26.01.10 17:09) [7]
    Используй этот: http://decoding.narod.ru/download/mycomponent/updatesplitter.zip компонент, он реализован наиболее просто.

    ps: round(Form1.Width/2); лучше было бы заменить на (Form1.Width div 2)
 
Конференция "Основная" » Двойной клик по RXsplitter [D7, WinXP]
Есть новые Нет новых   [134467   +9][b:0][p:0.001]