2013-03-05 99 views
5

我需要在主窗體的右側有兩個TToolBar s,所以我把三個TPanel作爲對齊,然後把TToolBar放在裏面。我一直試圖告訴toolbutton s在過去一天有相同的寬度,但無濟於事。下面是我的本錢屏幕截圖: enter image description here當ShowCaption設置爲True時,爲什麼TToolBar會自動計算按鈕寬度?

我發現,如果ShowCaption設置爲True,工具欄自動計算按鈕的寬度。我的問題是爲什麼,以及如何禁用這個?

回答

-2

您可以使用對象檢查器來設置按鈕的寬度與靜態值,也可以使用FORMCREATE或OnPaint中或在onResize等動態設置值........

+0

'ButtonWidth'恢復取值爲TToolBar'計算 – 2013-03-05 09:26:37

+0

buttonwidth是ttoolbar ...... – 2013-03-05 09:33:39

+0

的我知道屬性。我不能設置它,因爲它恢復到工具欄已經計算出來的值 – 2013-03-05 09:38:27

2

看看這個方法:

  1. 將所有按鈕的自動調整大小設置爲False。
  2. 調用方式的OnCreate事件中的以下內容:SendMessage(ToolBar3.Handle,TB_SETBUTTONWIDTH, 0, MAKELPARAM(0, <DEFAULT_WIDTH_THAT_YOU_WANT_TO_SET>));
  3. 確保你沒有上述呼叫之前改變任何按鈕的Visible屬性 - 因爲它會爲那些不可見的按鈕失效。
  4. 此外,請確保您在TB_SETBUTTONWIDTH消息的使用列表中有「CommCtrl」。

有關詳細信息:http://zarko-gajic.iz.hr/ttoolbars-ttoolbutton-autosize-width-issues-empty-caption/

相關問題