Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Text-only Blackboard control

0.00/5 (No votes)
14 Oct 2003 1  
Text-only Blackboard control for MFC

Introduction

This is a simple control which really helped me when I needed to debug the code with no debug info on the binary (Linked as Release mode). We can actually use List Control or something similar but we have to spend more time on its properties like font. This control (I hope) will simplify our task on debugging or displaying some progress in our code.

How to use

There are few steps to use this control:

  • Include two files, TextDispCtrl.h and TextDispCtrl.cpp in your project
  • Create a Picture box (Frame) in your form/dialog
  • Change its ID to whatever you want
  • Include TextDispCtrl.h in the class declaration of your form/dialog
  • Put this in your dialog/form class:
    CTextDispCtrl    m_wndx;
  • Initialize the control, usually within OnInitDialog() in dialog or OnInitialUpdate() in form:
    CRect rect;
    GetDlgItem(IDC_STATIC_OF_YOUR_PICTURE_BOX)->GetWindowRect(rect);
    ScreenToClient(rect);
    if( !m_wndx.Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP, rect, this, 1000) )
        AfxMessageBox("Hmmm...");
    
    // Set the font
    
    m_wndx.SetFont("Terminal", 100); // Any "monospace" font would be fine
    
    
    // Just in case the size of your Picture control smaller than your data
    
    // or you choose HUGE font ;-)
    
    m_wndx.SetDumpWidth(14);
  • Call the following method to display strings:
    m_wndx.ShowString("Bla..bla...bla...");
    m_wndx.ShowString(""); // Add blank line
  • Or this function to Hex Dump your buffer:
    m_wndx.DumpData(pszBuffer, iBufLen);
    

Conclusion

This class will be useful for projects which needs no fancy appearance but developed just for functionality and display the progress as simple as possible. That's all for now! Cheers!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here