EditViewにSetWindowText()で表示した文章にさらに追加するには?

解決


ゆりあん  2010-07-05 22:51:23  No: 71781  IP: 192.*.*.*

VisualStudio2008  MFC SDI
CEditViewをベースにアプリを作っていまして、ボタンを押すと報告書が作成されるといった概要のものです。

見出しを大きめのフォントにして、本文を少し小さめにして、といった感じの
ことをやりたいのですが、

CEdit&  edit = CEditView::GetEditCtrl () ;
// フォントサイズの設定など(省略)
edit.SetWindowTextA ("TEST1");
// フォントサイズの設定など(省略)
edit.SetWindowTextA ("TEST2");

だと案の定というかTEST1は表示されませんでした。
既にある文字の末尾から次のSetWindowTextAで文字を追加したりは
出来ないのでしょうか?

*報告書はユーザーが修正する場合があるので、CEditViewで作っています。
  他のViewだと私のレベルではこの仕様を実装するには見当つかない状態です

なにか解決策などご存知の方いらっしゃれば教えてください、
よろしくお願いします。

編集 削除
瀬戸っぷ  2010-07-06 00:54:14  No: 71782  IP: 192.*.*.*

>見出しを大きめのフォントにして、本文を少し小さめにして、といった感じの
>ことをやりたいのですが、

MSDNライブラリより…
>CEditView は、単一のフォントのみを表示できます。特別な文字フォーマットはサポートしていません。
>より高機能のクラスについては、CRichEditView クラスを参照してください。

ということで、CEditViewでは無理でしょう。

>既にある文字の末尾から次のSetWindowTextAで文字を追加したりは
>出来ないのでしょうか?

できません。
CEdit::SetSel()で終端を選択状態にしてCEdit::ReplaceSel()で置き換えるカタチで追加していく…
ということになるかと。

編集 削除
ゆりあん  2010-07-08 21:06:24  No: 71783  IP: 192.*.*.*

お返事遅くなりました、すいません
CRichEditViewの存在を知りませんでした。
いろいろ調べてみたところ、仕様にそったものが作れそうです。
アドバイスありがとうございました。

編集 削除