工具欄,可拖動,竝在被隱藏的地方顯示的實現代碼

工具欄,可拖動,竝在被隱藏的地方顯示的實現代碼,第1張

工具欄,可拖動,竝在被隱藏的地方顯示的實現代碼,第2張

1.在工具欄資源中創建新的工具欄IDR_TOOLBAR。添加按鈕。然後在MainFrame中添加一個成員變量CToolBar m _ newToolBar在大型機的OnCreate函數中,添加:
/創建工具欄,加載工具欄資源
if(!m _新工具欄。CreateEx(this,TBSTYLE_FLAT,WS _ CHILD | WS _ VISIBLE | CBRS _ RIGHT | CBRS _ GRIPPER |
CBRS _ TOOLTIPS | CBRS _ fly by | CBRS _ SIZE _ DYNAMIC)| |!m _新工具欄。load TOOLBAR(IDR _ TOOLBAR))
{
trace 0(\"未能創建工具欄\ \ n \");
return-1;//無法創建
}
m_newToolBar。enable docking(CBRS _ ALIGN _ ANY);//允許工具欄在工具欄區域移動
Enable Docking(CBRS _ align _ any);//這個框架可以拖到任何地方。如果已經爲另一個工具欄編寫過,就不需要編寫
DockControlBar(& m _ new ToolBar);//允許此工具欄在整個窗口中拖動window
2。在菜單上新建一個菜單(ID_TOOLBAR,toolbar test),然後通過ClassWizard將命令響應函數添加到這個菜單中:
方法1
void cmainframe::on TOOLBAR()
{
If(m _ new TOOLBAR . iswindowvisible())//如果顯示工具欄,則隱藏,否則顯示。
{
m_newToolBar。ShowWindow(SW _ HIDE);
}
else
{
m _ new toolbar。SHOW window(SW _ SHOW);
}
RecalcLayout();//注意,如果不寫這行,工具欄會被隱藏,但是工具欄還是會存在。您需要重新計算
DockControlBar(& m _ new toolbar);//這行是爲了工具欄被拖出邊框時,工具欄窗口不能隱藏。需要依靠。
}
方法二,將上述函數中的內容改爲:
show control bar(& m _ new toolbar,!m _新工具欄。IsWindowVisible(),FALSE);//以上功能一句話就能實現,還能保存隱藏前的窗口位置
3。菜單項的複選標記可以與工具欄相關聯。我們在菜單項上新建一個UPDATE_COMMAND_UI的消息對應函數:
void CMAINFRAME::ON UPDATE Toolbar(C CMDUI * PCM DUI)
{
PCM DUI-> SET CHECK(m _ new Toolbar . iswindowvisible());
}
4。編輯快捷鍵資源中的快捷鍵:選擇響應快捷鍵的菜單ID,然後設置快捷鍵。

位律師廻複

生活常識_百科知識_各類知識大全»工具欄,可拖動,竝在被隱藏的地方顯示的實現代碼

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情