3

解決策について同様の質問がいくつかありましたが、私の質問に答えたものはなかったので、ここにあります。

TPanel折りたたみ/拡張を行うTButtonその上で途方もなく単純であるか、そう思った。私は遊んで、ボタンを一番上(上から下への高さの拡張/折りたたみの場合)または左(左から右への幅の拡張/折りたたみの場合)に置くことで、すべてが計画どおりに機能しました。実際、拡張可能/折りたたみ可能な「高度な」パネルはすべて、まったく同じように機能します。ボタンは上または左にのみ配置されます。すぐに壁にぶつかりました。高さまたは幅をそれぞれ拡大/縮小するためにボタンを下部または右側に配置すると、ボタンはその位置に留まります...クライアント領域(?)-説明する知識が不足していますこれは適切ですが、別の方法で指摘されるまで、何が起こっているのかは明らかだと思います。重要なのは、私がこれを行っている方法では、唯一の解決策はパネル内のボタンを再配置することです。

だから問題は、どうすればこれを適切に実現できるかということです。パネルのサイズを変更してからボタンの位置を変更するという私の考えは、この問題に対する適切なアプローチのようには見えません。あるいは、これを行うコンポーネントを喜んで受け取りますが、チェックアウトしたコンポーネントからはすべて同じように動作し、JEDI VCLTJvRollOutコンポーネントでもPlacement(ボタン/キャプションの)plTopまたはplLeftにしか設定できないので、私は考えていますこれは簡単ではありませんか?

4

2 に答える 2

6

ボタンのAnchorsプロパティをに設定します[akLeft, akBottom]

ここに画像の説明を入力してください

于 2012-06-13T14:35:54.503 に答える
0

delphiのツールの配置を調整するには、次の2つのプロパティがあります。

  1. 整列(alNone、alLeft、alRight、alTop ....)

  2. アンカー(akLeft、akRight、akTop、akBottom)

たとえば、パネルがあり、TPanelでTEditをドラッグします。ここで、TEditがTPanelの左上隅のみを占めるようにし、パネルのサイズを変更しても、パネルの左隅と右隅からの距離を一定に保つ必要があります(つまり、パネルを下隅または右隅に沿って拡張すると、TEditが拡張されます。 )。

  1. Align->alNoneを設定します。(alLeftではなく、tEditは、左上だけでなく、パネルの左側の領域全体を占有します)。
  2. アンカーを設定->akLeft= akTop = akRight = akBottom=True。akLeft = akTop=TrueおよびakRight=akBottom = Falseを設定した場合:TEditのサイズは、下隅または右隅に沿ってパネルを展開しても一定のままです。
于 2012-06-13T17:56:55.590 に答える