Delphi:どのようにプログラムを調整映像の順序で部品のalign=alTop

StackOverflow https://stackoverflow.com/questions/1259849

  •  12-09-2019
  •  | 
  •  

質問

私の形のパネルをそれぞれAlign=alTop、そのスタックダブの上からです。

したいと思っていを動的に変更の順に、これらのパネルにしてください.e,移動している。何の?

役に立ちましたか?

解決

あなたは簡単の 0 のへののトップのプロパティを設定することで、トップへ、トップ整列パネルを移動することができます。これは逆の順番(最初の下のパネル)を要求してください、あなたが行われています。

他のヒント

あなたが現在のパネルの下になりたいパネルのTop財産未満1に現在のパネルのTopプロパティを設定します。

彼らにあなたがマウスを使って設計時にそれらを移動したいと同じように移動します。 VCLは残りの世話をします。

あなたはいくつかのパネルを移動する必要がある場合は、

BeginDeferWindowPos ので始まります。あなたがDeferWindowPosで欲しいものは何でも座標にすべてのパネルを調整し、それらすべてがEndDeferWindowPosを一度に移動します。

をご提案いたしビルの枠組みが動的に削除または追加の形態からその親会社。一般的には、注文の作成、または視覚的順序にでからご質問を理解していたい、変えるための申し込み時に寿命をもって、オリジナル創作の順になります。

の順で並び順を変更することができますみ:

  1. 非表示のパネル
  2. 削除のパネルから親制御
  3. 追加のパネルにその親会社管理の注文をご希望の
  4. 表示パネル

どのように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;

最後は初めてとなる。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top