1

私のアプリケーションには、m_wndspliter クラスのペインがいくつかあります。私がやりたいことは、実行時にこれらのペインの 1 つを表示および非表示にすることです。次のコードでは、ペインに関連付けられたビューを表示および非表示にできますが、ペイン自体を一時的に削除することはできません。

CWnd * pCurView = m_wndSplitter2.GetPane(2, 0);
if( !pCurView == NULL )
{
    if( fShow )
    {
        pCurView->ShowWindow(SW_SHOW);
        RecalcLayout();
    }
    else
    {
        pCurView->ShowWindow(SW_HIDE);
        RecalcLayout();
    }
}

例/アイデアはありますか?

4

3 に答える 3

1

これを行うには、CSplitterWnd::DeleteView を呼び出す必要があります。つまり、CView を復元する場合は、CView を別の場所に保存する必要があります。通常、すべてのデータは CView ではなく CDocument に格納する必要があるため、これは問題ではありませんが、実際にはそうではない場合があります。

過去にこれを処理した方法は、一時変数に簡単に格納できるように、CView クラスのコピー コンストラクターを用意することでした。

于 2008-10-16T16:33:27.400 に答える
0

これは役に立ちますか?

http://www.codeguru.com/cpp/wd/splitter/article.php/c1543

私自身もよく似たものを使っていましたが、

于 2008-10-16T17:39:25.363 に答える