2011-04-07 44 views
6

我在尋找一組選項卡之前實現一種插入字幕的,像這樣的一種方式:標題爲TTabControl

enter image description here

該選項卡集不應該是多行,只會水平放置在頂部。但是,如果標籤太多,它應該可以正確滾動。

我擔心在這裏將限制使用第三方控件,但是我可以使用標準TTabControl的子類來爲標準外觀和行爲添加必要的更改。 (我並不需要它是TPageControl,因爲它只是我感興趣的選項卡的具體排列方式。)

也許有一些方法可以通過精巧安排的標準控件組合來實現,儘管我的一切都已經逃脫了我。

基本上,任何想法或指針都是受歡迎的。

哦,還有一個額外的要求是,它應該很好地融合桌面主題。

回答

0

您是否試圖將第一個選項卡設置爲所需的標題。 使用一些額外的邏輯,您可以限制選擇此選項卡。

我不知道是否可以單獨控制每個標籤的樣式,以使第一個標籤看起來不像標籤。

+0

謝謝,我在想這件事,其實。對某個標籤*保持特定的外觀和行爲確實會有些問題。但是一個更大的問題將是與正確的標籤頁滾動一起實現它。 – 2011-04-07 12:39:28

0

這裏是狡猾的控制安排將工作。我過去做過這樣的事情。最重要的是它會自動處理標籤的滾動。

Crafty arrangement

+0

不降低你的答案,但你有沒有測試過這個以確保它能夠「很好地融合桌面主題」?最好是註釋表單的運行時映像的副本,而不是設計時不會顯示實際外觀或與運行時主題「混合」。 – 2014-10-17 03:05:19

+0

@ Ken-White,Mea culpa。這在Delphi 5中被打破了(沒有主題)。我應該做一個運行時屏幕抓取。也就是說,這使用了標準的VCL資料,正如我所說的那樣,過去沒有任何問題使用過這種安排。我想我是專注於這個答案的標籤滾動問題。 – JohnS 2014-10-17 04:14:43

+0

謝謝你的建議。我考慮[類似的方法,只與一個面板](http://imgur.com/0npMzVT),而不是一個頁面控制(我不需要多個頁面,只有標籤)。問題與您的安排相同:面板的上邊框總是可見的,這是不可接受的,因爲我真的想要在標籤前面帶有標題的TTabControl的無縫外觀。 – 2014-10-17 05:26:08

1

授予一定的時間已經過去了,但我最近需要這種風格,發現您可以用TMS軟件TAdvOfficePager做到這一點。它有一個屬性FixedTabs,在這種情況下我設置爲1。它還有一個OnChanging事件,您可以阻止訪問選項卡,在這種情況下,我使用了AllowChange:=(ToPage> 0);最後,我將第一個選項卡設置爲禁用。

然後,只需風格比其他人不同的第一個標籤,你可以有這樣的事情:

enter image description here

+0

這似乎是在勾選所有的框。除了它是第三方組件,也是付費的。就我而言,這是完全公平的,因爲考慮到[組件頁面](http://www.tmssoftware.com/site/aop.asp#features)上列出的功能數量,它們必須把很多努力。這只是我懷疑我的公司會同意付出這麼多。無論如何,感謝您找到並分享此內容。 – 2018-01-16 14:30:09