Splitter mit 4 Ansichten in einem SDI-Dokument



  • Hallo Leute, 😕

    ich habe mal versucht, in einem SDI-Dokument, 4 Ansichten zur erzeugen!

    Das ist ist mir auch gelungen. Jedoch bekomme ich die linke Spalte nicht zu sehen.

    Die linke Spalte ist erst sichtbar, wenn ich in der Oberfläche den vertikalen Splitter mit der Maus verschiebe.

    Wie kann ich es einstellen, das der vertikale Splitter erst bei einem Wert von 300 anfängt????

    Gruss Oliver

    Híer ein Ausschnitt:

    /******************************************************************************/

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)

    /******************************************************************************/

    {

    // create a splitter with 1 row, 2 columns
    if (!m_wndSplitter.CreateStatic(this, 1, 2))
    {
    TRACE0("Failed to CreateStaticSplitter\n");
    return FALSE;
    }

    // add the second splitter pane - which is a nested splitter with 2 rows
    if (!m_wndSplitter2.CreateStatic(
    &m_wndSplitter, // our parent window is the first splitter
    2, 1, // the new splitter is 2 rows, 1 column
    WS_CHILD | WS_VISIBLE | WS_BORDER, // style, WS_BORDER is needed
    m_wndSplitter.IdFromRowCol(0, 1)
    // new splitter is in the first row, 2nd column of first splitter
    ))
    {
    TRACE0("Failed to create nested splitter\n");
    return FALSE;
    }

    // now create the two views inside the nested splitter

    if (!m_wndSplitter2.CreateView(0, 0,
    RUNTIME_CLASS(CDIALOG1), CSize(0, 100), pContext))
    {
    TRACE0("Failed to create result pane\n");
    return FALSE;
    }
    if (!m_wndSplitter2.CreateView(1, 0,
    RUNTIME_CLASS(CDIALOG2), CSize(0, 0), pContext))
    {
    TRACE0("Failed to create protocol pane\n");
    return FALSE;
    }

    // add the second splitter pane - which is a nested splitter with 2 rows
    if (!m_wndSplitter3.CreateStatic(
    &m_wndSplitter, // our parent window is the first splitter
    2, 1, // the new splitter is 2 rows, 1 column
    WS_CHILD | WS_VISIBLE | WS_BORDER, // style, WS_BORDER is needed
    m_wndSplitter.IdFromRowCol(0, 0)
    // new splitter is in the first row, 1st column of first splitter
    ))
    {
    TRACE0("Failed to create nested splitter\n");
    return FALSE;
    }

    // now create the two views inside the nested splitter

    if (!m_wndSplitter3.CreateView(0, 0,
    RUNTIME_CLASS(CDIALOG3), CSize(300, 150), pContext))
    {
    TRACE0("Failed to create result pane\n");
    return FALSE;
    }
    if (!m_wndSplitter3.CreateView(1, 0,
    RUNTIME_CLASS(CDIALOG4), CSize(300, 0), pContext))
    {
    TRACE0("Failed to create protocol pane\n");
    return FALSE;
    }

    return TRUE;

    }


Anmelden zum Antworten