SplitterWndでの分割バー無効にしたい – 固定ページ 2 – プログラミング – Home

SplitterWndでの分割バー無効...
 
通知
すべてクリア

[解決済] SplitterWndでの分割バー無効にしたい

固定ページ 2 / 2

Nao
 Nao
(@Nao)
ゲスト
結合: 23年前
投稿: 18
Topic starter  

Blueさん たいちうさん

ご回答ありがとうございます。

Blueさん

 すみません。先ほど記述したファイルはcppファイルでした。ヘッダファイルの中身は

 #pragma once

 class CSplitterWndOrg : public CSplitterWnd
{
DECLARE_DYNAMIC(CSplitterWndOrg)

public:
CSplitterWndOrg();
virtual ~CSplitterWndOrg();

protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnLButtonDown(UINT nFlags,CPoint point);
};

このようになっております。何かおかしいでしょうか?
 宜しくお願いいたします。

たいちうさん

先ほどのcppファイルの中身のIMPLEMENT_DYNAMIC(CSplitterWndOrg,CWnd)
のところをIMPLEMENT_DYNAMIC(CSplitterWndOrg,CSplitterWnd)
に変更いたしました。

エラーの数と内容はまったく変わりませんでした。

どうすればいいでしょうか?宜しくお願いいたします。
 


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

VCについている「編集」→「置換」の機能を使うと便利です。
CDialog→CDialogBarにかえる時など使っています。

#「CSplitterWnd」を使ったサンプルを比べると間違えも見つかると思います。
# 付属のMSDN CDにもあります。
# わざわざネットで検索しなくても大丈夫です。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

今、VS2003で試してみましたが、IMPLEMENT_DYNAMICが間違っていても、
バーは固定されていました。

>> すみません。先ほど記述したファイルはcppファイルでした。ヘッダファイルの中身は

ヘッダファイル は、SpliterWndOrg.hで間違いないですか?

MainFrm.h の内容は、以下のようになっていますか?

#pragma once
#include SpliterWndOrg.h
class CMainFrame : public CFrameWnd
{
CSplitterWndOrg m_wndSplitter1;
...

ファイル名などに間違いがないか、もう一度落ち着いて確認してください。


返信引用
Nao
 Nao
(@Nao)
ゲスト
結合: 23年前
投稿: 18
Topic starter  

ITOさん たいちうさん

ご回答ありがとうございます。

ITOさん

>VCについている「編集」→「置換」の機能を使うと便利です。
CDialog→CDialogBarにかえる時など使っています。

次回から間違えの無いように、そのようにやりたいと思います。
アドバイスありがとうございます。

たいちうさん

>ファイル名などに間違いがないか、もう一度落ち着いて確認してください。
MainFrm.h内で

#include SplitterWndOrg.hをインクルードし忘れてしました。

  きちんと分割バーは固定させました。すみません。
  アドバイスありがとうございました。

これで、ネスト前の分割バーの固定は終了したのですが、本来の質問のネストした
分割バーはまだ解決していませんので、このまま続けて宜しいのでしょうか?


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

> このような感じになっているCSplitterWndOrg.hをMainFrm.cppにインクルード
> しているのですが、何か間違っているでしょうか?
> 宜しくお願いいたします。

やっと状況がわかった。↑のときは、MainFrm.cppで、
MainFrm.hの後に、CSplitterWndOrg.hをインクルードしていたんだね。

// MainFrm.cpp

#include MainFrm.h
#include CSplitterWndOrg.h

の順だと、コンパイラがMainFrm.cppをコンパイルする時には、
CSplitterWndOrgの宣言の前に、CMainFrameの宣言でCSplitterWndOrgが
使われてしまう。

ヘッダファイルでインクルードしないのならば、
ソースファイルのインクルード順も気をつけましょう。

> これで、ネスト前の分割バーの固定は終了したのですが、本来の質問のネストした
> 分割バーはまだ解決していませんので、このまま続けて宜しいのでしょうか?

宜しいのではないのでしょうか。


返信引用
Nao
 Nao
(@Nao)
ゲスト
結合: 23年前
投稿: 18
Topic starter  

たいちうさん

>#include MainFrm.h
>#include CSplitterWndOrg.h

たしかにお恥ずかしいですがこのように記述していました。

今気づいたのですが、VisualStudioなどでは

#include C.h
#include C
*.h
#include C*****.h
/////ここの領域をわざわざあけているのはこの間にインクルード
              しなさいという事だったんすね・・。
#include MainFrm.h

以後、気をつけます。

ネスト分割の方なのですが、たいちうさん Blueさんのおかげで基礎のネストなし分割
の方法を落ち着いてやってみたら出来ました。

すごく長い間、ご教授してくださりありがとうございました。
また何かありました時は、宜しくお願いいたします。


返信引用
固定ページ 2 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

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