0

MFC で作業を行ってからしばらく経ちましたが、単純なコンソールを追加して、アプリケーションが受信したログ メッセージを表示する必要があるプロジェクトを手に入れました。受信したメッセージの書式設定と色付けを行いたいので、RichEditView を使用することにしました。

CRichEditView で ES_AUTOHSCROLL と ES_AUTOVSCROLL を設定しようとして、一日中頭を悩ませていましたが、うまく動作しません...

CRichEditView から CConsoleView というクラスを派生させ、CConsolesView::PreCreateWindows でスタイルを - ES_READONLY | に設定しました。ES_MULTILINE | ES_WANTRETURN | ES_AUTOHSCROLL | ES_AUTOVSCROLL

しかし、これは期待どおりに機能しませんでした。

わかりました...基本に戻っても問題はないので、単純な MFC ウィザードでこれを試してみましたが、うまくいきました。これが自分のアプリでもうまくいくと思っていました。

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775464(v=vs.85).aspxから、オブジェクトの作成後に自動スクロールを変更できないことを知っているので、私のオブジェクトはPreCreateWindow への呼び出しを取得する前に作成されています...

  • CConsoleView コンストラクターでスタイルを強制できますか?
  • (一般的な質問) CRichEditView::Create() メソッドが呼び出されているのはいつ/どこですか? PreCreateWindow の後に呼び出すべきではありませんか?
  • 新しいオブジェクトをアタッチする以外に、これを回避する方法はありますか?

どんな助けでも大歓迎です!

乾杯

4

1 に答える 1