自从我使用 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 之后调用它吗?
- 除了附加一个新对象之外,还有什么办法可以解决这个问题?
任何帮助,将不胜感激!
干杯