实现类似VC中可设断点的编辑窗口[图]
运行效果图如下:
想做一个跟踪调试工具,于是到网上找类似VC可设置断点的EditView,可惜没找到(呵呵,俺E文不好,没去国外站点找)。那就自己做一个吧!!
唉!!为了这个小东西俺可是走了不少弯路!!
还好,今天终于做好了,拿出来与大家分享。
1、 创建一个工程………………俺不多说了,记住要选CeditView.
2、 在OnInitialUpdate()中设置EDIT的Margin,当然留出的空间用来画断点或行号等。并得到行高。
SIZE size;
GetTextExtentPoint(GetDC()->GetSafeHdc (),"A",1,&size);
m_LineHeight = size.cy; //得到行的高度
CEdit& theEdit = GetEditCtrl ();
theEdit.SetMargins (m_LineHeight+6,0); //设置编辑框的左边界
theEdit.SetLimitText(10 * 1024); //设置输入的最大文本
3、 保存断点的行号我用STL的list。
AddRemoveBP(int point)
{
IntList::iterator it;
it = find(lBreakPoint.begin (), lBreakPoint.end (), point);
if( it != lBreakPoint.end () ) //如果此行为设置了断点的行则删除否则添加
lBreakPoint.erase (it);
else
lBreakPoint.push_back (point);
}
- 上一篇:VC优秀的网格控件CGridCtrl[图]
- 下一篇:VC实现一个对话框里的动圆