初めまして。VC5を使っている者です。
CEditView モードでのテキストの出力の仕方がわかりません。
現在のカーソル位置から文字列を出力したいのですが。
たとえばOnDraw関数の中で、
CEdit* a;
a->ReplaceSel(mojiretu , FALSE)
としてもコンパイルできますが出力できませんでした。
おそらくOnDraw関数の中に書いたというのが誤りだと思うのですが。
(すいませんメッセージマップについてはまだよく理解していません)
勿論TextOut関数は使えません。
よろしくお願いします。
VC++6.0では
CEditViewクラスのメンバ関数GetEditCtrlを使って、
GetEditCtrl().ReplaceSel(...);
でできます。OnDrawの中で行う必要はありません。
(OnDrawの中で行うと悲惨なことになりそうです。)
レスありがとうございました。
GetEditCtrl().ReplaceSel(...);
という命令をどこにかけばよろしいでしょうか?
今のところ、どこに書いても何も出力されない状態なのですが・・・
大変失礼なことかも知れませんけど
>a->ReplaceSel(mojiretu , FALSE)
や
>GetEditCtrl().ReplaceSel(...);
の後
または関数の最後(return や }の直前)で
UpdateData(FALSE);
行ってますか、Viewの更新処理です
> 今のところ、どこに書いても何も出力されない状態なのですが・・・
どこに書きましたか?
また、何も出力されない状態とは、
エラーも何も発生しないが文字が表示されないという状態ですか?
OnInitialUpdateであれば問題無いはずです。
まずはReplaceSelではなくSetWindowTextを試してみてもよいでしょう。
-----
GetEditCtrl().SetWindowText(...);
-----
SetWindowTextがOKでReplaceSelがNGならば別の問題です。
皆様ありがとうございました。
OnInitialUpdateのなかで
ReplaceSel、SetWindowTextともに解決しました。
またよろしくお願いします。