2012-05-30 60 views
1

我有TPageControl這樣的一些TTabSheet。TPageControl/TTabSheet位置德爾福XE

TAB1 TAB2 TAB3 TAB4

但我想我的第一個標籤開始的特定位置等;

 Tab1 Tab2 Tab3 Tab4 

如何在Delphi XE中設置起始位置?和鼠標點擊將正常工作。

+1

是否要在製表符之前進行固定填充? – teran

+0

是的,我想做固定填充。第一個選項卡是開始50等等。 –

回答

2

最簡單的解決方案是在第一個標籤的標題前添加空格(請參閱下圖中的第二個示例)。

但我會選擇將不能設置一個活動虛設接線(見第一樣品)通過實施PageControl.OnChanging事件,因爲這樣的:

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

Padding on tab caption

+0

這些確實是這樣做的最簡單方法,但當然也有其他更復雜的方法,也可能值得研究。 –

+0

看起來像這樣很容易。但是,正如你所知道的,你不能設置第一個標籤的位置和寬度,也感覺到你有一個空標籤。 –

0

你可能需要看看Raize控件。他們的表格控件有很大的靈活性,但我不知道他們是否按照你的意願去做。他們有一個很好的下載演示程序,你可以玩,看看他們是否做你想做的。如果你沒有找到你想要的東西,你也可以發郵件給他們詢問是否有可能。

這不是一個免費的圖書館,但是,海事組織,非常值得的錢。我們經常使用Raize控件,並且對它們非常滿意。