TSplitter按源代码移动

use*_*184 1 delphi

在我的表格上,我放置了一个TSplitter和两个面板.运行程序我可以使用这些面板之间的拆分器移动2个面板的大小.

我想通过我的源代码移动拆分器,但我的所有尝试都失败了

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


  begin

  MySpliiter.left := aNewValue;

  ....
Run Code Online (Sandbox Code Playgroud)

And*_*and 10

你不应该捣乱分离器,而是使用对齐且固定大小的控件.

例如,假设您有两个面板.Panel1alLeftPanel2alClient.在你之间你有一个分离器.然后你想要

Panel1.Width := aNewValue;
Run Code Online (Sandbox Code Playgroud)

  • +1并不是说你不应该混淆分割器,更多的是你无法通过代码轻易地操纵分离器位置.您必须这样做的方法是伪造鼠标移动消息!因此,执行拆分器本身的操作,并修改拆分器管理的控件的边界. (5认同)