1

このような TPageControl にいくつかの TTabSheet があります。

タブ1 タブ2 タブ3 タブ4

しかし、最初のタブを特定の位置から開始したいなどです。

      Tab1 Tab2 Tab3 Tab4

Delphi XE 内で開始位置を設定するにはどうすればよいですか? マウスクリックは正しく機能します。

4

2 に答える 2

2

最も簡単な解決策は、最初のタブのキャプションの前にスペースを追加することです (下の画像の 2 番目のサンプルを参照)。

PageControl.OnChangingしかし、イベントを実装することによって、アクティブに設定できないダミーのタブを挿入することを選択します (最初のサンプルを参照) 。

procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  AllowChange := not PtInRect(PageControl1.TabRect(0),
    PageControl1.ScreenToClient(Mouse.CursorPos));
end;

タブ キャプションのパディング

于 2012-05-30T19:36:35.093 に答える
0

Raize コントロールを見てみましょう。彼らのタブシート コントロールには多くの柔軟性がありますが、あなたが望むように動作するかどうかはわかりません。ダウンロード可能な素晴らしいデモ プログラムが用意されており、それを使って目的の動作をするかどうかを確認できます。欲しいものが見つからない場合は、メールで可能かどうか尋ねることもできます。

これは無料のライブラリではありませんが、IMO ではお金を払うだけの価値があります。私たちは Raize コントロールを頻繁に使用しており、非常に満足しています。

于 2012-07-06T15:16:25.907 に答える