2分割スプリッタウィンドウ基本 – プログラミング – Home

2分割スプリッタウィンドウ基本
 
通知
すべてクリア

[解決済] 2分割スプリッタウィンドウ基本


Chikun
 Chikun
(@Chikun)
ゲスト
結合: 20年前
投稿: 4
Topic starter  

初めまして、Chikunと申します。

環境 Windows2000SP4 VC++6.0SP6 MFC SDI

単純な2分割スプリッタウィンドウがうまく動作しません。

プロジェクト A にて MFC SDI(デフォルト設定)を作成し、CViewクラス B を追加します。
CFrameWnd に CSplitterWnd のメンバ変数 m_SplitWnd を追加し、OnCreatClient を
オーバーライドします。
OnCreatClient 関数内に CreateStatic / CreateView を追加します。

<MainFrame.h>-------------------------------------------------------------------
:
:
class CMainFrame : public CFrameWnd
{
:
:
public:
CSplitterWnd m_SplitWnd;
:
:
}

<MainFrm.cpp>-------------------------------------------------------------------
:
:
#include ADoc.h
#include AView.h
#include BView.h
:
:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
m_SplitWnd.CreateStatic(this, 1, 2));
m_SplitWnd.CreateView(0, 0, RUNTIME_CLASS(CAView), CSize(100, 100),
pContext));
m_SplitWnd.CreateView(0, 1, RUNTIME_CLASS(CBView), CSize(0, 0), pContext))
return CFrameWnd::OnCreateClient(lpcs, pContext);
}

コンパイル・実行すると、左右2分割のスプリッタウィンドウが表れるはずですが、実際
には CAView 画面しか表示されません。
CreateStatic / CreateView はエラーを返していません。
Size の指定も色々変えてみましたが、変化ありません。

何か間違いや抜け等ありましたら、教えて下さい。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 21年前
投稿: 1467
 

> return CFrameWnd::OnCreateClient(lpcs, pContext);
の行はコメントアウトしないといけなかったような。

かわりに

return TRUE;

とする。


返信引用
Chikun
 Chikun
(@Chikun)
ゲスト
結合: 20年前
投稿: 4
Topic starter  

Blueさん、ありがとうございました。
全くその通りでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました