2012-07-26 11 views
1

我想在我的數據網格的標題中添加一個圖標,因爲它在Thunderbird中完成。 垂直滾動條上方有一個圖標,不管水平滾動條的位置如何。該圖標允許設置列。列設置的標題行中的圖標

在德爾福有很多不同的網格組件,允許定製和添加圖標到單元格/標題單元格。但是我找不到任何在垂直滾動條上方有固定區域的組件,點擊時允許執行某些操作。如果結果更容易定製該組件,我甚至可以使用VirtualTreeView組件來模擬網格。

我正在尋找一些關於需要做什麼來獲得該功能的指導。

感謝, 托馬斯

+0

即使使用VirtualTreeView,如果我們正在討論['this picture'](http://i.imgur.com/aJ4Na.png)上的按鈕,這看起來就不那麼容易了。當VirtualTreeView啓用了列自動調整功能後,當滾動條出現['this way'](http://i.imgur.com/lyxBT.png)時,最右邊的列將從右側移動。您是否需要自動化列(這意味着當您調整虛擬樹的大小時,該列將遵循調整大小以適應當前控制寬度)? – TLama 2012-07-27 20:51:49

+0

繼續關於VirtualTreeView,即使列autosize將會關閉並且您調整大小時,讓我們說第一列以手動調整樹視圖寬度(爲了將最後一列移動到右邊),它會產生副作用,水平滾動條出現,它會看起來像['這樣'](http://i.imgur.com/kObey.png)。恕我直言,修改這種行爲意味着徹底修改樹視圖代碼。 – TLama 2012-07-28 00:46:33

+1

好吧,personalyl我不會從這樣的圖形用戶界面 - 點擊該按鈕將很容易錯過它,而不是點擊向上滾動。反之亦然。這將迫使用戶緩慢謹慎。 – 2012-07-30 07:59:41

回答

1

VirtualTreeView在列表框模式將是很好的,因爲它的速度,豐富的文檔和緩解MVC狀花紋使用。 Delphi試圖將數據存儲在可視化組件本身中,這些信件導致了麻煩。雖然VTW全都一樣,但它也允許從GUI中分離數據,我喜歡它。

但我很驚訝你的說法「點擊時允許一些動作,」。 連最基本的組成部分允許它:

http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Grids.TCustomGrid.OnFixedCellClick

所以,你能不能讓更多的detaiils,你爲什麼不能使用標準組件?帶有截圖和編輯器,你想如何呈現,你想要點擊的位置以及應該發生什麼樣的動作?

+0

你會使用像這樣的控件的字符串網格(因爲鏈接到['OnFixedCellClick'](http://docwiki.embarcadero.com/Libraries/XE2/en/Vcl.Grids.TCustomGrid.OnFixedCellClick)引用) ? – TLama 2012-07-27 11:46:38

+0

對於這個 - dunno。也許我試圖恢復Custom Containers Pack並從頭開始構建它。獨立滾動條。獨立的工具欄/標題欄/無論何時調用它。 Grid強制剝離其原生滾動條。並將所有這些都集中在一起。所以用你在屏幕截圖上顯示的按鈕,我無法建議你任何事情,因爲我個人反正會避免這種佈局。什麼標題反應點擊 - 我只是想糾正你的想法,這是一件罕見的事情。恰恰相反,很難找到不允許標題點擊反應的控件。 – 2012-07-30 08:00:33

+0

同意你的意見;即使當垂直滾動條可見時,按鈕蹲伏在右上方的佈局也不是很好,我很容易忽略它(就像我前段時間使用Thunderbird一樣)。但即使這需要修改VirtualTreeView,我仍然會建議它。 – TLama 2012-07-30 08:30:48