Delphi:どのようにプログラムを調整映像の順序で部品のalign=alTop
質問
私の形のパネルをそれぞれAlign=alTop、そのスタックダブの上からです。
したいと思っていを動的に変更の順に、これらのパネルにしてください.e,移動している。何の?
解決
あなたは簡単の 0 のへののトップのプロパティを設定することで、トップへ、トップ整列パネルを移動することができます。これは逆の順番(最初の下のパネル)を要求してください、あなたが行われています。
他のヒント
Top
財産未満1に現在のパネルのTop
プロパティを設定します。彼らにあなたがマウスを使って設計時にそれらを移動したいと同じように移動します。 VCLは残りの世話をします。
あなたはいくつかのパネルを移動する必要がある場合は、、 BeginDeferWindowPos
ので始まります。あなたがDeferWindowPos
で欲しいものは何でも座標にすべてのパネルを調整し、それらすべてがEndDeferWindowPos
を一度に移動します。
をご提案いたしビルの枠組みが動的に削除または追加の形態からその親会社。一般的には、注文の作成、または視覚的順序にでからご質問を理解していたい、変えるための申し込み時に寿命をもって、オリジナル創作の順になります。
の順で並び順を変更することができますみ:
- 非表示のパネル
- 削除のパネルから親制御
- 追加のパネルにその親会社管理の注文をご希望の
- 表示パネル
どのように1列とのN の行の代わりに---再発注する上揃えパネルを上揃えTGridPanel
を試すについては本当に、痛みのビットです。
(注:私の記憶が正しければTGridPanel
は、デルファイ2007年とまで利用可能です)。
変更した場合には、上部のパネルを視覚的にパネルが変化します。
してみてください(すべてのパネルを揃えて altop や 同じ高さ):
PANEL0
PANEL1
PANEL2
PANEL3
PANEL4
時 OnClick イベント すべてのパネル い:
TPanel(Sender).Top := TPanel(Sender).Top - TPanel(Sender).Height - 2;
をクリックすれば、パネルで最大位置を調整することができます。
このアイデアです。変化のX(ピクセル単位)で作成します。
それと、い:
TPanel(Sender).Top := TPanel(Sender).Top - (TPanel(Sender).Height * 2)- 2;
パネル2。
追加: ご利用の場合はドラッグ&ドロップで、このイベントの位置(X,Y);元の位置と終了位置を計算できるwewジュニアスイートはジャグジー asignのパネルです。
言い訳書拙い英語です。について
私は、次のコードを使用しました。
procedure Show_Hide (Flag_Show : boolean);
begin
if Flag_Show then
begin
with Panel_1 do begin Align := alTop; Visible := true; end;
with Panel_2 do begin Align := alTop; Visible := true; end;
with Panel_3 do begin Align := alTop; Visible := true; end;
with Panel_4 do begin Align := alTop; Visible := true; end;
end else
begin
with Panel_1 do begin Visible := false; Align := alNone; end;
with Panel_2 do begin Visible := false; Align := alNone; end;
with Panel_3 do begin Visible := false; Align := alNone; end;
with Panel_4 do begin Visible := false; Align := alNone; end;
end;
end;
私の願いに従って Panel_1 Panel_2 Panel_3 Panel_4
私は古いポストを知っているが、基本的に私を助けた - ゼロにtopプロパティを設定する考えを。 私はこのアプリのユーザーに任されて、プログラムで設定された位置の原因のアイデアを使用傾ける - それは、アプリのいくつかのグラフを表示してすることを選んだことができ、teechartsのすべてのパネル(親)が整列altopです。 私は逆の順序に0に彼らのトッププロパティを設定してからちょうどユーザの入力に応じて見えるtrueまたはfalseを設定...
感謝します。
panel3.Visible := True;
panel3.Top := 0;
panel2.Visible := True;
panel2.Top := 0;
panel1.Visible := True;
panel1.Top := 0;
最後は初めてとなる。