本文整理汇总了C++中CDockState::LoadState方法的典型用法代码示例。如果您正苦于以下问题:C++ CDockState::LoadState方法的具体用法?C++ CDockState::LoadState怎么用?C++ CDockState::LoadState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDockState
的用法示例。
在下文中一共展示了CDockState::LoadState方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ActivateFrame
void CMergeEditFrame::ActivateFrame(int nCmdShow)
{
// load docking positions and sizes
CDockState pDockState;
pDockState.LoadState(_T("Settings"));
if (EnsureValidDockState(pDockState)) // checks for valid so won't ASSERT
SetDockState(pDockState);
// for the dimensions of the diff and location pane, use the CSizingControlBar loader
m_wndLocationBar.LoadState(_T("Settings"));
m_wndDetailBar.LoadState(_T("Settings"));
if (!m_bActivated)
{
m_bActivated = true;
// get the active child frame, and a flag whether it is maximized
BOOL bMaximized = FALSE;
CMDIChildWnd * oldActiveFrame = GetMDIFrame()->MDIGetActive(&bMaximized);
if (oldActiveFrame == nullptr)
// for the first frame, get the restored/maximized state from the registry
bMaximized = GetOptionsMgr()->GetBool(OPT_ACTIVE_FRAME_MAX);
if (bMaximized)
nCmdShow = SW_SHOWMAXIMIZED;
else
nCmdShow = SW_SHOWNORMAL;
}
CMDIChildWnd::ActivateFrame(nCmdShow);
}
示例2: VerifyBarState
bool COutlookFrame::VerifyBarState(LPCTSTR lpszProfileName)
{
CDockState state;
state.LoadState(lpszProfileName);
for (int i = 0; i < state.m_arrBarInfo.GetSize(); i++)
{
CControlBarInfo* pInfo = (CControlBarInfo*)state.m_arrBarInfo[i];
ASSERT(pInfo != NULL);
int nDockedCount = (int) pInfo->m_arrBarID.GetSize();
if (nDockedCount > 0)
{
// dockbar
for (int j = 0; j < nDockedCount; j++)
{
UINT nID = (UINT) pInfo->m_arrBarID[j];
if (nID == 0)
continue; // row separator
if (nID > 0xFFFF)
nID &= 0xFFFF; // placeholder - get the ID
if (GetControlBar(nID) == NULL)
return false;
}
}
if (!pInfo->m_bFloating) // floating dockbars can be created later
if (GetControlBar(pInfo->m_nBarID) == NULL)
return false; // invalid bar ID
}
return true;
}
示例3: OnCreate
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
//create base
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;
//create child controls
if (!m_wndToolBar.Create(this) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) return -1;
if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) return -1;
m_wndStatusBar.SetPaneText( m_wndStatusBar.CommandToIndex(ID_INDICATOR_LINENUMBER), "" );
m_wndStatusBar.SetPaneText( m_wndStatusBar.CommandToIndex(ID_INDICATOR_POINTS), "" );
//turn on tooltips
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()|CBRS_TOOLTIPS );
//find the button to replace with the combo box
int iPlaceHolder = 0;
while( m_wndToolBar.GetItemID(iPlaceHolder) != ID_VIEW_SHEETSTYLE ) iPlaceHolder++;
//change it to a separator and change it's width
m_wndToolBar.SetButtonInfo( iPlaceHolder, ID_VIEW_SHEETSTYLE, TBBS_SEPARATOR, SHEETSTYLE_WIDTH );
//get it's position on the toolbar and expand it so there is room for it to drop down
RECT rc;
m_wndToolBar.GetItemRect( iPlaceHolder, &rc );
rc.bottom += 200;
//create, change it's font and show it
if(!m_wndSheetType.Create( WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|CBS_DROPDOWNLIST|CBS_HASSTRINGS, rc, &m_wndToolBar, ID_VIEW_SHEETSTYLE)) return -1;
m_wndSheetType.SendMessage( WM_SETFONT, (WPARAM)::GetStockObject(ANSI_VAR_FONT) );
m_wndSheetType.ShowWindow(SW_SHOW);
m_wndSheetType.EnableWindow(FALSE);
//make toobar flat if requested by user
if( AfxGetApp()->GetProfileInt( "Display", "FlatToolbar", TRUE ) == TRUE )
m_wndToolBar.GetToolBarCtrl().ModifyStyle( 0, TBSTYLE_FLAT ); //make it flat
//Initialize dialog bar m_wndOutput
if (!m_wndOutput.Create(this, CSize(250,75), ID_VIEW_OUTPUT, CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC))
{
TRACE0("Failed to create output window\n");
return -1; // fail to create
}
m_wndOutput.SetWindowText( "Output" );
m_wndOutput.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking( CBRS_ALIGN_ANY );
DockControlBar(&m_wndOutput, AFX_IDW_DOCKBAR_BOTTOM);
ShowControlBar(&m_wndOutput, FALSE, FALSE);
//Load in the docked toolbar positions
CDockState dockState;
CString szToolbarPositionsKey;
szToolbarPositionsKey.LoadString( IDS_TOOLBARKEY );
dockState.LoadState( szToolbarPositionsKey );
SetDockState( dockState );
// CG: The following line was added by the Splash Screen component.
CSplashWnd::ShowSplashScreen(this);
return 0;
}
示例4: LoadState
void CSizingControlBar::LoadState(LPCTSTR lpszProfileName)
{
ASSERT_VALID(this);
ASSERT(GetSafeHwnd()); // must be called after Create()
#if defined(_SCB_REPLACE_MINIFRAME) && !defined(_SCB_MINIFRAME_CAPTION)
// compensate the caption miscalculation in CFrameWnd::SetDockState()
CDockState state;
state.LoadState(lpszProfileName);
UINT nID = GetDlgCtrlID();
for (int i = 0; i < state.m_arrBarInfo.GetSize(); i++)
{
CControlBarInfo* pInfo = (CControlBarInfo*)state.m_arrBarInfo[i];
ASSERT(pInfo != NULL);
if (!pInfo->m_bFloating)
continue;
// this is a floating dockbar - check the ID array
for (int j = 0; j < pInfo->m_arrBarID.GetSize(); j++)
if ((DWORD) pInfo->m_arrBarID[j] == nID)
{
// found this bar - offset origin and save settings
pInfo->m_pointPos.x++;
pInfo->m_pointPos.y +=
::GetSystemMetrics(SM_CYSMCAPTION) + 1;
pInfo->SaveState(lpszProfileName, i);
}
}
#endif //_SCB_REPLACE_MINIFRAME && !_SCB_MINIFRAME_CAPTION
CWinApp* pApp = AfxGetApp();
TCHAR szSection[256];
wsprintf(szSection, _T("%s-SCBar-%d"), lpszProfileName,
GetDlgCtrlID());
m_szHorz.cx = max(m_szMinHorz.cx, (int) pApp->GetProfileInt(
szSection, _T("sizeHorzCX"), m_szHorz.cx));
m_szHorz.cy = max(m_szMinHorz.cy, (int) pApp->GetProfileInt(
szSection, _T("sizeHorzCY"), m_szHorz.cy));
m_szVert.cx = max(m_szMinVert.cx, (int) pApp->GetProfileInt(
szSection, _T("sizeVertCX"), m_szVert.cx));
m_szVert.cy = max(m_szMinVert.cy, (int) pApp->GetProfileInt(
szSection, _T("sizeVertCY"), m_szVert.cy));
m_szFloat.cx = max(m_szMinFloat.cx, (int) pApp->GetProfileInt(
szSection, _T("sizeFloatCX"), m_szFloat.cx));
m_szFloat.cy = max(m_szMinFloat.cy, (int) pApp->GetProfileInt(
szSection, _T("sizeFloatCY"), m_szFloat.cy));
}
示例5: OnCreate
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
CDockState dockstate;
if (CMDIChildWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
m_bEnableFloatingBars = true;
if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1), IDR_TOOLBAR1) ||
!m_ToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_ToolBar.LoadToolBar(IDR_TOOLBAR1);
m_ToolBar.SetPaneStyle( CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_TOP | CBRS_GRIPPER );
m_ToolBar.EnableDocking( CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM );
m_ToolBar.EnableReflections(true);
EnableDocking(CBRS_ALIGN_ANY);
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
m_wndStatusBar.SetPaneStyle(0,SBPS_STRETCH);
if (!m_SaveDialog.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1), IDR_TOOLBAR5) ||
!m_SaveDialog.LoadToolBar(IDR_TOOLBAR5))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_SaveDialog.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_SaveDialog);
DockPaneLeftOf(&m_ToolBar,&m_SaveDialog);
m_SaveDialog.ShowWindow(true);
dockstate.LoadState("ChildDockbars");
SetDockState(dockstate);
return 0;
}
示例6: ActivateFrame
void CChildFrame::ActivateFrame(int nCmdShow)
{
BOOL bMaximized = FALSE;
CMDIChildWnd * oldActiveFrame = GetMDIFrame()->MDIGetActive(&bMaximized);
if (!m_bActivated)
{
m_bActivated = TRUE;
// get the active child frame, and a flag whether it is maximized
if (oldActiveFrame == NULL)
// for the first frame, get the restored/maximized state from the registry
bMaximized = theApp.GetProfileInt(_T("Settings"), _T("ActiveFrameMax"), FALSE);
if (bMaximized)
nCmdShow = SW_SHOWMAXIMIZED;
else
nCmdShow = SW_SHOWNORMAL;
}
// load the bars layout
// initialize the diff pane state with default dimension
int initialDiffHeight = ((CMergeDiffDetailView*)m_wndDetailSplitter.GetPane(1,0))->ComputeInitialHeight();
UpdateDiffDockbarHeight(initialDiffHeight);
// load docking positions and sizes
CDockState pDockState;
pDockState.LoadState(_T("Settings"));
if (EnsureValidDockState(pDockState)) // checks for valid so won't ASSERT
SetDockState(pDockState);
// for the dimensions of the diff and location pane, use the CSizingControlBar loader
m_wndLocationBar.LoadState(_T("Settings"));
m_wndDetailBar.LoadState(_T("Settings"));
if (bMaximized)
{
// If ActivateFrame() is called without tricks, Resizing panes in MergeView window could be visible.
// Here, two tricks are used.
// [First trick]
// To complete resizing panes before displaying MergeView window,
// it needs to send WM_SIZE message with SIZE_MAXIMIZED to MergeView window before calling ActivateFrame().
// [Second trick]
// But it causes side effect that DirView window becomes restored window from maximized window
// and the process could be visible.
// To avoid it, it needs to block the redrawing DirView window.
// I had tried to use LockWindowUpdate for this purpose. However, it had caused flickering desktop icons.
// So instead of using LockWindowUpdate(),
// I wrote My[Lock/Unlock]WindowUpdate() function that uses subclassing window.
//
if (oldActiveFrame)
MyLockWindowUpdate(oldActiveFrame->m_hWnd);
RECT rc;
GetClientRect(&rc);
SendMessage(WM_SIZE, SIZE_MAXIMIZED, MAKELPARAM(rc.right, rc.bottom));
CMDIChildWnd::ActivateFrame(nCmdShow);
if (oldActiveFrame)
MyUnlockWindowUpdate(oldActiveFrame->m_hWnd);
}
else
{
RecalcLayout();
CMDIChildWnd::ActivateFrame(nCmdShow);
}
}
示例7: OnCreate
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
// CG: This line was added by the Palette Support component
CDockState dockstate;
if (CMDIFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows7));
CDockingManager::SetDockingMode(DT_SMART);
#if 0
if (!m_wndMenuBar.Create(this))
{
TRACE0("Failed to create menubar\n");
return -1; // fail to create
}
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() |
CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY );
m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndMenuBar);
#endif
// prevent the menu bar from taking the focus on activation
CMFCPopupMenu::SetForceMenuFocus(FALSE);
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1), IDR_MAINFRAME_TOOLBAR1) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
int nOrigSize = sizeof(indicators) / sizeof(UINT);
UINT* pIndicators = new UINT[nOrigSize + 2];
memcpy(pIndicators, indicators, sizeof(indicators));
// Call the Status Bar Component's status bar creation function
if (!InitStatusBar(pIndicators, nOrigSize, 60))
{
TRACE0("Failed to initialize Status Bar\n");
return -1;
}
delete[] pIndicators;
// TODO: Delete these five lines if you don't want the toolbar and menubar to be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
if (!m_wndLoadFileBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1), IDR_TOOLBAR2) ||
!m_wndLoadFileBar.LoadToolBar(IDR_TOOLBAR2))
{
TRACE0("Failed to create dialog bar m_wndLoadFileBar\n");
return -1; // fail to create
}
m_wndLoadFileBar.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
if (!m_wndGPS_HTMEAS.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1), IDR_TOOLBAR3) ||
!m_wndGPS_HTMEAS.LoadToolBar(IDR_TOOLBAR3))
{
TRACE0("Failed to create dialog bar m_wndGPS_HTMEAS\n");
return -1; // fail to create
}
m_wndGPS_HTMEAS.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
if (!m_wndISOLDE_PROTONS.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1), IDR_TOOLBAR4) ||
!m_wndISOLDE_PROTONS.LoadToolBar(IDR_TOOLBAR4))
{
TRACE0("Failed to create dialog bar m_wndISOLDE_PROTONS\n");
return -1; // fail to create
}
m_wndISOLDE_PROTONS.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM);
EnableDocking(CBRS_ALIGN_ANY);
// dock all panes in desired right to left order
DockPane(&m_wndLoadFileBar);
DockPaneLeftOf(&m_wndISOLDE_PROTONS,&m_wndLoadFileBar);
DockPaneLeftOf(&m_wndGPS_HTMEAS,&m_wndISOLDE_PROTONS);
DockPaneLeftOf(&m_wndToolBar,&m_wndGPS_HTMEAS);
dockstate.LoadState("Dockbars");
SetDockState(dockstate);
CSplashWnd::ShowSplashScreen(this);
mytimer = SetTimer(TimerID,1000,NULL);
return 0;
}
示例8: VerifyBarState
BOOL CMainFrame::VerifyBarState(LPCTSTR lpszProfileName)
{
CDockState state;
state.LoadState(lpszProfileName);
return(VerifyDockState(state, this));
}