none
如何实现日志输出窗口并关联日志文件? RRS feed

  • 问题

  • 想要在程序中实现一个日志窗口,封装在CDockablePane中。

    这个日志窗口需要能够关联磁盘文件,向磁盘文件输出日志是可以在日志窗口中显示。并且清空日志窗口中的日志时,磁盘中的文件不受影响。

    磁盘文件需要是追加的形式。

    用什么控件做日志输出框比较合适?CListCtrl? CEdit? CRichEdit?

    在窗口中显示的日志,需要根据不同的日志状态显示不同的文本颜色或者行背景颜色。

    2016年10月27日 5:39

全部回复

  • Hi BruceLiu_sh,

    感谢在MSDN论坛发帖。

    >>这个日志窗口需要能够关联磁盘文件,向磁盘文件输出日志是可以在日志窗口中显示。并且清空日志窗口中的日志时,磁盘中的文件不受影响。

    磁盘文件需要是追加的形式。

    用什么控件做日志输出框比较合适?CListCtrl? CEdit? CRichEdit?

    在窗口中显示的日志,需要根据不同的日志状态显示不同的文本颜色或者行背景颜色。

    对于这种情况,建议你使用CEdit控件,显示日志内容。使用SetTextColor函数或者SetBkColor函数设置文本和背景的颜色。这里有一篇示例可供参考。

    http://www.codeproject.com/Articles/1035/Using-colors-in-CEdit-and-CStatic

    使用WriteFile函数或者fstream::write函数将日志内容写入指定文件。同样提供你一份示例参考。

    https://msdn.microsoft.com/en-us/library/windows/desktop/bb540534(v=vs.85).aspx

    希望对你有所帮助。

    Best Regards,

    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2016年10月27日 8:13
  • 我看VisualStudio创建MFC程序的模板,COutputWnd输出日志用的是CListBox窗口,这个窗口可以调整前景和背景颜色吗?

    效率是不是会比CEdit更好?

    2016年11月12日 8:58
  • >>我看VisualStudio创建MFC程序的模板,COutputWnd输出日志用的是CListBox窗口,这个窗口可以调整前景和背景颜色吗?

    效率是不是会比CEdit更好?

    当你使用DrawItem画完item的时候,可以使用CDC::SetTextColorCDC::SetBkColor 函数改变颜色。

    详细代码参考以下文档。

    https://msdn.microsoft.com/en-us/library/y04ez4c9.aspx?f=255&MSPPError=-2147217396#clistbox__drawitem

    希望可以帮助到你。

    Best Regards,
    Sera Yu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2016年11月15日 9:39