DockControlBar



  • Hi

    ich will zwei ControlBars auf der rechten Seite haben

    DockControlBar(&m_Clock, AFX_IDW_DOCKBAR_RIGHT);
    DockControlBar(&m_Picture, AFX_IDW_DOCKBAR_RIGHT);

    sich auch beide ganz rechts, aber nebeneinander. Ich will die ganz rechts haben, aber untereinander.

    MfG
    CPP_Dau


  • Mod

    Auch wenn der Name irritiert nimm die Funktion DockControlBarLeftOf

    void CMainFrame::DockControlBarLeftOf(CControlBar* pBar, CControlBar* pLeftOf)
    {
    	ASSERT_VALID (m_pFrame);
    	ASSERT_VALID (pBar);
    	ASSERT_VALID (pLeftOf);
    
    	CRect rect;
    	DWORD dw;
    	UINT n;
    
    	// get MFC to adjust the dimensions of all docked ToolBars
    	// so that GetWindowRect will be accurate
    	m_pFrame->RecalcLayout(TRUE);
    
    	pLeftOf->GetWindowRect(&rect);
    	rect.OffsetRect(1,1);
    	dw=pLeftOf->GetBarStyle();
    
    	n = 0;
    	n = (dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP : n;
    	n = (dw&CBRS_ALIGN_BOTTOM && n==0) ? AFX_IDW_DOCKBAR_BOTTOM : n;
    	n = (dw&CBRS_ALIGN_LEFT && n==0) ? AFX_IDW_DOCKBAR_LEFT : n;
    	n = (dw&CBRS_ALIGN_RIGHT && n==0) ? AFX_IDW_DOCKBAR_RIGHT : n;
    
    	// When we take the default parameters on rect, DockControlBar will dock
    	// each Toolbar on a seperate line. By calculating a rectangle, we
    	// are simulating a Toolbar being dragged to that location and docked.
    	m_pFrame->DockControlBar (pBar,n,&rect);
    }
    

Anmelden zum Antworten