2013-02-23 4 views
1

В моей форме я разместил TSplitter и две панели. Запуск программы Я могу перемещать размер двух панелей с помощью Splitter между этими панелями.TSplitter по исходному коду move

Я бы хотел, чтобы переместить разделитель мой исходный код, но все мои attemps удалось

procedure ChangeGUILayout (....); 
    var 
    aNewValue : Integer; 


    begin 

    MySpliiter.left := aNewValue; 

    .... 

ответ

10

Вы shoudn't связывайтесь с разветвителем, но с контролем, который совмещается и фиксированного размера.

Например, скажем, что у вас есть две панели. Panel1 - alLeft и Panel2 - alClient. Между вами есть сплиттер. Тогда вы хотите

Panel1.Width := aNewValue; 
+5

+1 Это не так, что вы не должны путаться с разветвителем, тем более, что вы не можете легко манипулировать позицией сплиттеров с помощью кода. То, как вы должны было бы это сделать, - это подделать сообщения перемещения мыши! Итак, сделайте то, что делает сам сплиттер, и измените границы элементов управления, которыми управляет сплиттер. –

Смежные вопросы