リッチエディットを分割ウィンドウに

[戻る]
コヤナギ 2007/02/06(火) 04:20:50
 リッチエディットを分割ウィンドウに組み込む作業を行っています。
しかし、ダイアログに貼り付けて組み込んでみても作成できず、REビューで組み込ん
でみると組めるのですが、メッセージのやり取りの部分で詰まってしまいます。原因が
わかる方、ご意見をお聞かせください。

開発環境 MFC VC++6.0です。

wclrp ( 'o') 2007/02/06(火) 08:30:12
作成できなくて困っているのか
それともメッセージのやり取りで困っているのか?

リッチエディットつかうときは初期化が必要、
MFCならAfxInitRichEdit関数を呼び出す必要がある。

コヤナギ 2007/02/06(火) 10:53:51
あいまいですいません。
Cspritterで静的分割後にRichEditビューを埋め込んで実装しようと考えているのですが
このように行うといざRichEditCtrlを使おうとするとこれらのメンバを使おうとすると
きにエラーが発生してしまいます。おそらく親ウィンドウがメッセージを取れてないと
いうことらしいのですが、初心者なので詳しくはわかりませんでした。

PATIO 2007/02/09(金) 10:59:15
エラーの内容まで提示してください。
エラーが発生してしまいますでは、状況が全くわかりません。
親ウインドウでメッセージが取れないと判断した根拠も説明に無いので
なんともコメントのしようが無いです。

コヤナギ 2007/02/10(土) 17:35:34
一応、ダイアログを組み込む方法は出来たのですが、Viewでのやり方が出来ませんでし
た。普通に作成ウィザードでRichEditViewとして作成しました。それをスプリッタに組
み込んで、作成したRichEditCtrl変数のメンバ(今回はテストのためにm_Rich.Cut)を利
用するようにしています。
 実際コンパイルして起動後にそれを利用しようとするとAssertion Failedのエラーが
発生します。どうやら実行ファイル内のafxcmn.inlの676行目つまり、.Cutの呼び出しの
ところで問題が発生しているようでした。
 もしかしたらリッチエディットを利用する過程が間違っているのかもしれません。
View上で利用する時、ダイアログ上で利用するとき意外で追加すべき必要な処理が存在
するのでしょうか。AfxInitRichEditは必要ないと思いましたので入れていません。
 初期の質問と少し変わってしまって申し訳ありません


 

PATIO 2007/02/13(火) 17:10:17
> どうやら実行ファイル内のafxcmn.inlの676行目つまり、.Cutの呼び出しの
> ところで問題が発生しているようでした。

行数が手元のソースと合わないのですが、
いずれにせよ、なぜAssertion Failedが起きているのかを
ソースを見て確認してください。
問題の場所にASSERT(::IsWindow(m_hWnd));という部分があるのでは?
ASSERTがどんな物なのか調べましたか?
m_hWndって何か調べてみましたか?

RichEditCtrl変数のメンバを作っただけでは、実際に表示されているウインドウとは
別々の存在になってしまうと思いますが、表示されているリッチテキストビューと
変数はちゃんと関連付いているんでしょうか?

まだ、書き込まれた情報からでは有効なレスポンスは無理な気がします。
書き込まれた情報からでは特定できない部分が多すぎます。

古いスレッドには追加発言できません。