왼쪽에는 TTreeview, 오른쪽에는 TGroupbox가있는 폼이 있습니다. 오른쪽 가장자리를 드래그하여 양식의 크기를 조정하면 Groupbox를 적절히 늘리거나 줄이기를 원합니다. 양식을 왼쪽으로 드래그하면 Treeview의 크기가 조정됩니다. 아래 코드를 시도하고 오른쪽 크기 조정을 잘 작동합니다. 그러나 왼쪽 크기 조정은 treeview가 오랜 시간 동안 성장하지 못하게합니다. 이것을 달성하는 올바른 방법은 무엇입니까?드래그 영역을 기반으로 컨트롤의 크기를 동적으로 조정합니다.
procedure TForm1.FormResize(Sender: TObject);
var
p: TPoint;
begin
P:= ScreenToClient(Mouse.CursorPos);
if(P.X<0) then begin
Treeview1.Anchors:= [akLeft,akTop,akRight,akBottom];
Groupbox1.Anchors:= [akTop,akBottom];
end
else begin
Treeview1.Anchors:= [akLeft,akTop,akBottom];
Groupbox1.Anchors:= [akLeft,akTop,akRight,akBottom];
end;
end;
아니요, 왼쪽 및 오른쪽으로 여러 번 끌면 그룹 상자가 결국 사라집니다. 이상한 일이 여기에 있습니다. – fullerm
@fullerm'GroupBox1.Anchors'에'akRight'를 추가하면 Delphi 10.1 Berlin에서 잘 작동하는 것 같습니다. 그것이 당신을 위해 작동하지 않는다면, 테스트 케이스에 당신이 우리에게 말하지 않은 다른 것이 있어야합니다. –
XE를 사용하고 있으며 빈 프로젝트에서이 코드를 테스트했습니다. 왼쪽을 많이 앞뒤로 드래그하면 트리 뷰가 그룹 상자 위로 겹칩니다. 아마 XE에 버그가있을 수 있습니다. – fullerm