2011-01-12 18 views
1

私はTComponentの子孫であるサードパーティのコントロールを使用しています。スクロールバー、好ましくはオートスクロールバーが必要です。TComponentにスクロールバーを追加するには?

TComponentから入手できますか?

私のメインフォーム&にTPanelを置き、スクロールバーを表示することはできますか?コンポーネントのサイズが変更されたときに自動サイズ変更するように、コンポーネント(およびPanelなど)をalClientにする予定ですが、(自動)スクロールバーがあるようにします。

答えて

5

私はあなたが行うことを意図しているものを理解している場合、次の操作を行います。

  • 心配しないでくださいTScrollBoxコンポーネント
  • のビジュアルコンポーネントを追加する形
  • にTScrollBoxを追加スクロールバーは、必要なときに自動的に表示されるため(コンポーネントが可視領域外にある場合)
  • 楽しいです!
+0

+1ありがとう、Dorin。これは現在の方法ですが、現在は機能していませんが、それをさらに進んで&うまくいけばそれの底に行く – Mawg

+0

私の 'コントロール'は私が別のフォーム(他のコントロールと一緒に置いている)のフォームなのでおそらくうまくいきませんか? – Mawg

+0

私はそうは思わない...私のプロジェクトの1つでは、複数のテーブルなどでカスタムの "データベース検索"を作成し、ユーザーが条件を作成する方法は、検索フォーム上にスクロールボックスがあり、 scrollboxコンボボックス、lookupcomboboxesなどを(動的に)追加する理由は、フォームがどのような形で反応するのかわかりません。セカンダリフォームを "alClient"にアライメントしないでください。Left = 0、Top = 0に追加すると、親フォームが縮小すると子フォームはサイズを保持しますが、全体を表示するにはスクロールバーが必要になります子フォームの内容。 – ComputerSaysNo

3

視覚コントロールの場合は、通常、TControlまたは(より良い)TWinControlに由来します。 TWinControlはWindowsコントロール(ウィジェット)を包むラッパーであり、Windowsは内容のスクロールバーを提供できます。 TScrollboxのソースコードを参考にしたり、TPanelのアイデアを置き換えることができます。

+0

+1時間がかかります。残念ながら、それはサードパーティ製のコントロールなので、私は自分の持っているものと一緒に生きなければなりません。(それゆえ、それを子として追加して、私が制御でき、そしてそれをalCLientにするという考え。 – Mawg

+0

@Leonixはこのコンポーネントのソース? –

+0

@Leonixサードパーティのコントロールでさえ、通常はTWinControlまたはTForm(TWinControlの子孫です)の子孫ですが、あなたのコメントから、あなたのニーズを間違って定式化していることがわかります。スクロールバーを制御するが、より大きなコントロールを限られた表示スペースに合わせたい場合は、コントロールをTScrollBoxに置くだけです。 –

関連する問題