델파이로 안드로이드 앱을 만들었지 만 이상한 행동을합니다. 이것이 바로 상황입니다.델파이 클론 레이아웃
나는 (InputLayout라고 함) TLayout을 가지고 있고 그것은 GridPanelLayout
이 포함되어 있습니다. 나는 InputLayout 안쪽이 그리드를 복사해야하지만이 결과를 얻을 : 물론
나는 왼쪽에 하나가 결과. 위 그림의 정확한 사본을 갖고 싶기 때문에 이 아니라을 찾고 있습니다. 최종 결과는 두 번째 GridPanelLayout이어야하며 두 번째 GridPanelLayout은 첫 번째 GridPanelLayout 아래에 있어야합니다. 다음 코드입니다.
procedure TForm1.Button3Click(Sender: TObject);
var c: TGridPanelLayout;
begin
try
c := TGridPanelLayout(InputLayout.Children[0].Clone(InputLayout));
c.Align := TAlignLayout.Top;
InputLayout.AddObject(c);
except
// ...
end;
end;
무엇이 잘못 되었나요? InputLayout
은 GridPanelLayout을 포함하는 레이아웃이며 그 구성 요소가 유일한 요소이므로 0 인덱스를 사용하여 안전하게 액세스 할 수 있습니다.
디자인 타임'GridPanelLayout'는 상단에 정렬되지 않은 것처럼 보입니다. 'GridPanelLayout'에 몇 개의 열과 행이 있는지는 명확하지 않습니다. 내가 3 열, 1 행 및 맨 위에 정렬 된 첫 번째'GridPanelLayout') 문제를 시도 할 때 폼을 최소화하고 복원하면 사라지는 드로잉 인공물을 얻습니다. 당신을 위해 일어나는 일을 시도하고 질문에 추가하십시오. –
@TomBrunberg 예, 디자인 타임에 레이아웃 내부에 정렬됩니다. 복제품을 TAlignLayout에 넣어야합니까?그 코드를 사용하고 있지만 작동하지 않을 페이지의 크기를 조정하더라도. 그게 버그일까요? –
솔루션을 찾았지만 TGridLayout과 함께 작동한다고 생각합니다. 어떤 이유로 GridPanelLayout은 잘 작동하지 않으며 @TomBrunberg와 동일한 동작을합니다. –