1. 怎麼在mfc中添加新的工具欄
在ResourceView里,雙擊Toolbar,雙擊IDR_MAINFRAME,
就出現了工具條編輯界面,默認的最右邊那個灰按鈕就是用來添加新按鈕的,
雙擊它,會彈出對話框讓你給新按鈕取個ID,取完後關掉對話框
就會多出一個按鈕,你可以在這個界面下給按鈕畫下簡單的圖案
2. MFC,對話框,編輯框,工具欄不見了!
點擊紅色框區域試試
3. mfc怎麼做工具箱,或者說怎麼做個功能區
如果是基於對話框的,那麼左邊做一個樹型控制項,右邊空著,然後根據左邊的節點做一些子對話版框,這些權對話框中的風格要求是子窗口的,然後根據左邊用戶的選擇,把你做的子對話框帖在右邊.
當然也可以把所有控制項都放置在右邊,然後根據用戶選擇的左邊的樹型控制項的節點來決定哪個顯示\哪個隱藏,可是這樣做就會很亂,有其在你做對話框編輯的時候.
如果程序不是基於對話框的,而是SDI或者MDI,那麼左邊的建議作一個PANE,然後右邊切換窗口.
4. mfc工具欄顯示
//.h
class CMainFrame : public CFrameWnd
{
....
CToolBar m_wndToolBar1;
CToolBar m_wndToolBar2;
....
}
//.cpp
在資源Toolbar下添加兩個工具欄 IDR_BAR_TOOL1 IDR_BAR_TOOL2
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
if (!m_wndToolBar1;.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar1.LoadToolBar(IDR_BAR_TOOL1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndToolBar2.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar2.LoadToolBar(IDR_BAR_TOOL2))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
}
int CMainFrame::ShowToolBar(BOOL bShow)
{ //可以通過bShow控制顯示那個工具欄
//ShowControlBar()可以用來控制是否顯示該工具欄
ShowControlBar(&m_wndToolBar1,!bShow,FALSE);
ShowControlBar(&m_wndToolBar2,bShow,FALSE);
}
//ShowControlBar()詳細用法可參考MSDN
5. c++用MFC創建窗口後,那些設置窗口的工具欄不見了。請問要怎麼調出來謝謝、、、、、
右鍵在VC6.0上面工具欄處單擊,會彈出一個菜單選項
勾選controls這個選項就好了
如果你是中文VC6.0,那就翻譯過來勾選對應的選項就好了
如下圖:
6. mfc中找不到控制項工具箱
在圖中 紅圈所示空白區域 滑鼠右鍵 選擇控制項/Contrals 就出來了
7. mfc工具欄怎麼調出來
在菜單欄,工具欄上右鍵單擊,選擇
控制項
就OK了
8. MFC工具欄位置問題
把創建工具欄的樣式CBRS_TOP改成CBRS_BOTTOM就行
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE
| CBRS_TOP//把這個CBRS_TOP改成CBRS_BOTTOM就行
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
或者用CFrameWnd::DockControlBar
DockControlBar(&m_wndToolBar,AFX_IDW_DOCKBAR_BOTTOM);
void DockControlBar(
CControlBar* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL
);
至於EnableDocking是"將要"停靠在哪,或者說允許停靠在哪
如果要使工具條浮動,調用CFrameWnd::FloatControlBar
void FloatControlBar(
CControlBar * pBar,
CPoint point,
DWORD dwStyle = CBRS_ALIGN_TOP
);