0
創建水平或垂直定向的自定義工具欄嘗試垂直定向CControlBar - 來自自定義工具欄。大概沒有結果,因爲它總是水平的或者總是垂直的,或者我實際上不知道 - 太多的參數要同步,我很害怕!MFC:基於CControlBar
這裏是我到目前爲止有:
// creating the CControlBar-derived toolbar
CMyCB cb; // CControlBar-derived toolbar
cb.Create( AfxRegisterWndClass(0),
NULL,
WS_CHILD | WS_VISIBLE ,
CRect(0,0,100,100),
AfxGetMainWnd(),
0
);
cb.SetBarStyle(cb.GetBarStyle() | CBRS_LEFT | CBRS_SIZE_DYNAMIC | CBRS_GRIPPER);
cb.EnableDocking(CBRS_ORIENT_HORZ);
// in CFrameWnd-derived window constructor
this->EnableDocking(CBRS_ALIGN_ANY);
this->FloatControlBar(&cb, CPoint(100,100), CBRS_ALIGN_LEFT);
this->ShowControlBar(&cb, TRUE, FALSE);
觀察如何CControlBar :: CalcFixedLayout(在CMyCB重寫)是通過將一個斷點那裏叫,我可以看到它的bHorz參數(通知cb是水平還是垂直工具欄)對於第一個調用而言爲「2」,對於隨後的第二個調用則爲「0」。
我能從中得出什麼結論?有沒有辦法創建一個水平一致或垂直一致的自定義工具欄? (至少對於bHorz自變量)請參閱上述代碼段中的參數CBRS_ *。非常感謝。
托馬斯