( ゚Д゚)ノ Delギコ猫のプログラミング相談室part4
∧∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,゚Д゚)ノ < 現時点の経験が少ないとか言われたけど
U / \ 気にしないニャー
@| |
∪∪
経験豊富な皆様に質問ニャー
例の実行時に設計時コンポーネントを置き換えるコードをいろいろ
コネってみました。コネコネ
procedure TForm1.FormCreate(Sender: TObject);
begin
BarPanel1 := TBarPanel.CreateClone(Panel1);
end;
constructor TMyPanel.CreateClone(Original: TPanel);
var
ScrollInfo: TScrollInfo;
begin
inherited Create(Original.Owner);
//この辺りで各種プロパティをOriginalからSelfにコピー
//つまりAssignの機能
Self.Parent := Original.Parent;
Self.BoundsRect := Original.BoundsRect;
Self.Anchors := Original.Anchors;
Original.Free;
end;
ここでこのPanelに対するAssign処理をもっと楽にコード書く方法は
ないでしょうか。
Panel の所有すRTTIの情報をすべてループして
異なっているパラメータがあれば
MyPanel側へコピーしたりするコードが知りたいです。
Propertyのいくつかは設定順番が必要かも知れませんが
それは除外させておいたり
実際のPanel生成処理順と同じように設定できると
よいと思うです。
∧ ∧ /
(,,゚Д゚) < よろしくー
|⊃ ,⊃ \
@| |
∪∪