問題タブ [csplitterwnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1985 参照

c++ - 複数の交換可能なビュー (MFC/C++)

スプリッター付きのメインフレームがあります。左側には (想像上の名前の) CAppView_Left があり、右側には CAppView_Right_1 と CAppView_Right_2 があります。次のコードを使用して、2 つの主要なビューを正しく初期化します。

...

私がやりたいのは、右のフレーム内に 2 番目のビューを作成することですが、これを追加しようとすると:

VS はコンパイルされますが、アプリケーションの実行に失敗し、ビューが既に定義されていることを示す例外が発生します。

誰かがこれを行う方法を提案できますか? また、ビューまたはドキュメント クラスからビューを切り替える方法は?

0 投票する
3 に答える
4155 参照

c++ - MFC: スプリッター ペインの表示/非表示

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

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

0 投票する
4 に答える
3440 参照

c++ - (MFC)動的オブジェクト作成を使用せずにCSplitterWndでビューを作成する方法はありますか?

私は以前CSplitterWnd、MFC アプリケーションでそのCreateView関数を使用して使用していました。すべてが正常に機能していましたが、ビューのコンストラクターにパラメーターを渡したいので、空のコンストラクターが必要なため、 MFC 動的オブジェクト作成 (DECLARE_DYNCREATEおよび) を使用できません。IMPLEMENT_DYNCREATE

インターネットで少し検索したところ、次のような例が見つかりました。

これは回避策になる可能性があります (つまり、必要なものを指定できるようにする新しい関数を作成しCMyViewます) が、これは見苦しく、エラーが発生しやすくなります。私がこれを行うことができる別の方法があるかどうか誰でも知っていますか?

編集:eeの回答の後に詳細を追加:

初期化メソッドが機能するというあなたの権利ですが、これにより、その初期化メソッドを呼び出すことを覚えておく必要がありますが、指摘したように、これらのビューを何度も作成することはおそらくないので、問題ありません。私が望むもう1つのことは、ビューの有効期間を自分で管理することです。これも、CreateViewを使用して行うことはできません。

ありがとう

0 投票する
2 に答える
1437 参照

mfc - CSplitterWnd は、水平スプリッターと垂直スプリッターの間で反転しますか?

2行のスプリッターがあるとします。

--------
| | |
--------
| | |
--------

どうすればこれにたどり着くことができますか

---------
| | | | |
| | | | | |
| | | | | |
----------

横分割から縦分割に切り替える

スプリッター全体を再作成する必要はありませんか?

コードは次のとおりです。

0 投票する
1 に答える
1654 参照

visual-c++ - 2つのペインを持つCSplitterWnd:左側のペインはCTreeView、右側はCFrameWnd:右側のペインで異なるビューを設定できません

古典的なWindowsエクスプローラーの種類のアプリケーションを実装しようとしています。CpliterWndには2つのペインがあります。左側のペインはCLeftTreeView:public CTreeView右側のペインはCRightPaneFrame:public CFrameWnd、CRightPaneFrameにはメンバー変数m_pCustomViewがあります。

CustomViewは、ダイアログリソースに追加したクラスです(リソースエディターとクラスの追加ウィザードを使用して編集)

MainFrame.cppには次のエントリがあります

そして後でCRightPaneFrameで

何が間違っているのかわかりませんが、CustomViewが右側のペインに読み込まれていません。

アプローチの変更に関する提案または現在のアプローチの何が問題になっていますか?

0 投票する
1 に答える
189 参照

visual-studio - 分割ペインではすべてのコントロールが無効になっています

私の MFC アプリケーションでは、CSplitterWnd を使用して 2 つのペインを作成し、各ペインは CFormView ダイアログ ボックスです。この GUI アプリケーションを実行すると、スプリッターが機能し、両方のペインが表示されますが、すべてのコントロール (ボタン、編集ボックス、コンボ ボックスなど) が無効になります。どちらのダイアログ ボックスにも「子」と「枠なし」のプロパティがあります。

ペイン ビューでこれらのすべてのコントロールを有効にするために何かを見逃していましたか?

助けてくれてどうもありがとう。

CK

0 投票する
1 に答える
3917 参照

mfc - CSplitterWnd::Create を使用せずに MFC でウィンドウを動的に分割する方法

MFC MDI アプリケーションを作成し、右クリックして "AddSplitWnd" ポップ メニュー項目を選択することで、ウィンドウを一度に 2 つの部分に動的に分割したいと考えています。CSplitterWnd::CreateStatic を使用して実装しようとしています。ウィンドウが分割されたら、新しいビューを作成する必要がありますが、代わりに前のビューを使用したいので、実装方法を知っている人はいますか? ありがとうございました。

0 投票する
1 に答える
701 参照

visual-studio-2010 - mfc vs2010 で実行時に分割ウィンドウのビューを置き換える

分割ウィンドウで特定のペインのビューを変更する方法を知りたいです。

エクスプローラーウィンドウのようなものでなければなりません。ウィンドウの左側にあるツリー ブランチをクリックすると、右側のビューが更新されます。

同様に、ビューを更新したいと思います。任意のツリー ノードをクリックすると、新しいペインが同じ位置に表示され、前のペインが上書きされます。

サンプルコードは高く評価されます

0 投票する
0 に答える
474 参照

mfc - クラス CSplitterWndEx を使用するときにスクロールバーが二重にならないようにする方法

MFC ウィザードでアプリケーションを作成し、スプリッター機能を追加しました。

CSplitterWndEx m_wndSplitterウィザードは変数を classに追加しますCChildFrame

その後、水平スクロールバーと垂直スクロールバーを持つ分割ビューが作成されます。

ただし、リッチ エディット ビューには独自のスクロール バーもあります。

スクロールバーを 1 つだけ保持し、分割機能を保持するにはどうすればよいですか?

前もって感謝します。

0 投票する
0 に答える
299 参照

c++ - CSplitterWnd:RecalcLayout によりウィンドウが閉じられる

コードのプロジェクトを継承したばかりですが、何らかの理由でビルドされた実行可能ファイルが実行後すぐに閉じてしまいます。プロジェクトが私に与えられる前に、ビルドして正常に実行されたように見えますが、それはここでもそこでもありません。

そのため、プロジェクトがどのように機能するかがわからないため、この問題をデバッグしようと試み、次のコードを含めるようにしました。

ここで、読み込まれるウィンドウは 4 つのパネル (2 列、2 行) に分割されることになっています。これにより、それぞれの位置とサイズが明確に処理されていることがわかります。この問題は、特に最後の行によって引き起こされm_wndSplitter.RecalcLayout()ます。その 1 行をコメントアウトすると、ウィンドウは正常に読み込まれますが、すべてのボタンがグレー表示され、パネルのサイズを変更しようとすると、アプリケーションがクラッシュします。

申し訳ありませんが、これ以上詳しく説明することはできませんが、私はこのコードに慣れていません。だから私の質問は、その行を含めることがこの効果を引き起こす可能性がある状況を誰でも考えることができますか? 前回の動作時からコードに変更がないように見えるため、説明したこと以外に何もする必要はありません。

誰でも提供できる助けをありがとう!