MFC工具欄程式設計

2021-04-12 23:01:26 字數 1328 閱讀 3902

竅門:  1、要在工具欄增加乙個分割欄,只要拖動某乙個按鈕稍稍往右移動一點便可以了。

2、要刪除乙個工具欄按鈕,只要點住它,把它拖出工具欄即可。

1、在窗體的右邊新建乙個工具欄。首先,在resourceview中的*******右鍵選擇insert *******新建乙個工具欄idr_*******1。畫上幾個按鈕。然後再mainframe中新增乙個成員變數,private c******* m_new*******; 在mainframe的oncreate函式中加入:

if (!m_new*******.createex(this, tbstyle_flat, ws_child | ws_visible | cbrs_right

| cbrs_gripper | cbrs_tooltips | cbrs_flyby | cbrs_size_dynamic) ||

!m_new*******.load*******(idr_*******1))

//建立乙個靠在窗體右邊的工具欄

m_new*******.enabledocking(cbrs_align_any);          //允許工具欄在工具欄區域中移動

enabledocking(cbrs_align_any);                       //此框架任何地方允許可拖役,如果已經被別的*******寫過可以不用再寫

dockcontrolbar(&m_new*******);                       //允許此工具欄在整個window視窗中拖役

2、現在我們讓建立的工具欄和選單像對應,來隱藏和顯示工具欄。首先我們在選單上新建一欄(idm_view_newtool,新的工具欄)。然後我們通過classwizard新建乙個對此選單的命令相應函式:

2.1方法一

void cmainframe::onviewnewtool()

else

recalclayout();                                        //注意如果不寫這行,會出現工具欄隱藏,但工具條仍然存在的現象,需要重新計算

dockcontrolbar(&m_new*******);                         //這行是為了,在工具欄被拖役出邊框時,工具欄視窗不能被隱藏。需要重靠。 }

2.2方法二,將以上函式中的內容改為:

showcontrolbar(&m_new*******,!m_new*******.iswindowvisible(),false);    //一句話便可實現以上功能,並可儲存被隱藏前的視窗位置

void cmainframe::onupdateviewnewtool(ccmdui* pcmdui)

MFC工具欄程式設計

竅門 1 要在工具欄增加乙個分割欄,只要拖動某乙個按鈕稍稍往右移動一點便可以了。2 要刪除乙個工具欄按鈕,只要點住它,把它拖出工具欄即可。1 在窗體的右邊新建乙個工具欄。首先,在resourceview中的 右鍵選擇insert 新建乙個工具欄idr 1。畫上幾個按鈕。然後再mainframe中新增...

工具欄程式設計

1 用api 建立工具欄,簡單例子 之前定義了乙個由3個16 16組成的點陣圖,準備建立乙個具有三個按鈕的工具欄 tbbutton tbbuttons create ex hwnd,ws child ws visible tbstyle flat,16,16,16,16,sizeof tbbutto...

MFC工具欄按鈕下拉

1.首先在cmainframe oncreate 函式下新增如下 讓工具欄有下拉能力和向下的箭頭按鈕 讓工具欄具有處理下拉箭頭的能力 dword dwexstyle tbstyle ex drawddarrows m wnd get ctrl sendmessage tb setextendedst...