2016-04-18 17 views
1

在Google搜索完畢,恐怕找不到對此的答案。將TGridPanel中沒有標題的複選框居中

這是我目前的情況:
Before

非但沒有那些複選框左對齊我希望他們爲中心,像這樣(顯然Photoshop處理):
enter image description here

有人知道如何用VCL實現這一點?謝謝。

編輯: 這些組件是一個TGridPanel內,無論什麼原因,左和Top屬性對組件的單元格中的位置沒有影響。我也尋找任何佈局屬性,沒有運氣。

+0

這個算法適合你的情況嗎? 'checkbox.left:=(cell.width - checkbox.width)div 2' – MBo

+0

我推薦,我應該提到這些組件在TGridPanel裏面,無論出於何種原因,Left和Top屬性都不會影響組件在單元格中。 –

回答

0

TGridPanel中的控件自動居中對齊。如果您將複選框的寬度減小到正確的值,它應該按要求居中。請注意,如果您減小尺寸太多,複選框將縮小。

+0

恐怕沒有用。由於TCheckbox組件具有標題屬性,因此該複選框始終位於文本的左側或右側。無論我設定的寬度如何,它都沒有什麼不同。感謝您的幫助。 –

+0

我檢查了德爾福10西雅圖更新1,它實際上工作。你用什麼Delphi版本? –

+0

不幸的是,由於各種組件不是最新的,我們被困在XE5中。 –

0

我設法找到一個解決方案,雖然它很雜亂。但爲了將來的參考,我必須爲GridPanel中的每個單元格創建一個面板,然後讓我設置面板的左側填充屬性,以將我的TCheckboxes推過去。

enter image description here



是它的超級低效的,但它是到目前爲止,我已經得到了最好。還解決了我想要在GridPanel中顯示單元輪廓的問題。