CEditView modeでテキストを出力するには? – プログラミング – Home

CEditView modeでテキスト...
 
通知
すべてクリア

[解決済] CEditView modeでテキストを出力するには?


はながわ
 はながわ
(@はながわ)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

初めまして。VC5を使っている者です。
CEditView モードでのテキストの出力の仕方がわかりません。
現在のカーソル位置から文字列を出力したいのですが。

たとえばOnDraw関数の中で、

CEdit* a;
a->ReplaceSel(mojiretu , FALSE)

としてもコンパイルできますが出力できませんでした。
おそらくOnDraw関数の中に書いたというのが誤りだと思うのですが。
(すいませんメッセージマップについてはまだよく理解していません)

勿論TextOut関数は使えません。
よろしくお願いします。


引用未解決
トピックタグ
MASATO
 MASATO
(@MASATO)
ゲスト
結合: 23年前
投稿: 53
 

VC++6.0では

CEditViewクラスのメンバ関数GetEditCtrlを使って、
GetEditCtrl().ReplaceSel(...);

でできます。OnDrawの中で行う必要はありません。
(OnDrawの中で行うと悲惨なことになりそうです。)


返信引用
はながわ
 はながわ
(@はながわ)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

レスありがとうございました。
GetEditCtrl().ReplaceSel(...);
という命令をどこにかけばよろしいでしょうか?
今のところ、どこに書いても何も出力されない状態なのですが・・・


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

大変失礼なことかも知れませんけど

>a->ReplaceSel(mojiretu , FALSE)

>GetEditCtrl().ReplaceSel(...);
の後
または関数の最後(return や }の直前)で

UpdateData(FALSE);
行ってますか、Viewの更新処理です


返信引用
MASATO
 MASATO
(@MASATO)
ゲスト
結合: 23年前
投稿: 53
 

> 今のところ、どこに書いても何も出力されない状態なのですが・・・
どこに書きましたか?
また、何も出力されない状態とは、
エラーも何も発生しないが文字が表示されないという状態ですか?

OnInitialUpdateであれば問題無いはずです。

まずはReplaceSelではなくSetWindowTextを試してみてもよいでしょう。
-----
GetEditCtrl().SetWindowText(...);
-----

SetWindowTextがOKでReplaceSelがNGならば別の問題です。


返信引用
はながわ
 はながわ
(@はながわ)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

皆様ありがとうございました。
OnInitialUpdateのなかで
ReplaceSel、SetWindowTextともに解決しました。
またよろしくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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