1. 程式人生 > >自定義工具欄 (ToolBar) 控制元件的外觀

自定義工具欄 (ToolBar) 控制元件的外觀

 

CToolBarCtrl 類提供許多影響工具欄物件外觀(並且有時是行為)的樣式。首次建立工具欄 (ToolBar) 控制元件時,通過設定 CToolBarCtrl::Create(或 CToolBar::CreateEx)成員函式的 dwCtrlStyle 引數修改工具欄物件。

下列樣式影響工具欄按鈕的“3D”方位和按鈕文字的位置:

  • TBSTYLE_FLAT   建立平面工具欄,即工具欄和按鈕都是透明的。按鈕文字出現在按鈕點陣圖的下面。當使用該樣式時,游標下面的按鈕自動突出顯示。
  • TBSTYLE_TRANSPARENT   建立透明工具欄。在透明工具欄中,工具欄是透明的,但按鈕不是。按鈕文字出現在按鈕點陣圖的下面。
  • TBSTYLE_LIST   將按鈕文字放置在按鈕點陣圖的右邊。
    注意   若要防止重畫問題,應在工具欄物件可見之前設定 TBSTYLE_FLATTBSTYLE_TRANSPARENT 樣式。

下列樣式確定工具欄是否允許使用者用拖放功能重定位工具欄物件中的各個按鈕:

  • TBSTYLE_ALTDRAG   允許使用者通過在按住 ALT 鍵的同時拖動工具欄按鈕來更改按鈕的位置。如果沒有指定該樣式,使用者必須在拖動按鈕的同時按住 SHIFT 鍵。
    注意   必須指定 CCS_ADJUSTABLE 樣式才能使工具欄按鈕被拖動。
  • TBSTYLE_REGISTERDROP   當滑鼠指標經過工具欄按鈕時,生成 TBN_GETOBJECT
    通知訊息以請求放置目標物件。

其餘的樣式影響工具欄物件的可視和非可視方面:

  • TBSTYLE_WRAPABLE   建立可有多行按鈕的工具欄。當工具欄變得太窄以至於不能在同一行上包含所有按鈕時,工具欄按鈕可以“換行”到下一行。換行會在分開並且非分組的邊界上發生。
  • TBSTYLE_CUSTOMERASE   當它處理 WM_ERASEBKGND 訊息時生成 NM_CUSTOMDRAW 通知訊息。
  • TBSTYLE_TOOLTIPS   建立應用程式可用來顯示工具欄按鈕的描述性文字的工具提示 (ToolTip) 控制元件。