Text-only Blackboard control






3.67/5 (9 votes)
Oct 15, 2003

61240

1073
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 orOnInitialUpdate()
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!