初学mfc用mfc向导生成一个记事本程序 CView类继承了CEditView类。
void CDView::OnLButtonDown(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default
SetCaretPos(point);
CEditView::OnLButtonDown(nFlags, point);
}
为什么我加了上面一个消息后没效果?

解决方案 »

  1.   

    没有什么效果? OnLButtonDown没被调用吗?
    如果是,不知道你有没有加MessageMapDView.h========================================================class CDView:public CEditView
    {
    ...
    DECLARE_MESSAGE_MAP()
    ...
    }
    DView.cpp========================================================...
    BEGIN_MESSAGE_MAP(CDView, CEditView)
    ON_WM_LBUTTONDOWN()
    END_MESSAGE_MAP()
    ...
      

  2.   

    肯定有啊。我的意思是SetCaretPos(point);这句看不到执行效果。点鼠标左键,插入光标位置没变。
      

  3.   

    哦这样啊.
    你把CEditView::OnLButtonDown(nFlags, point);这句注释掉看看.
      

  4.   

    不注释掉的话执行完SetCaretPos(point)后会继续调用基类的方法,所以看不到效果了
      

  5.   

    哦。谢谢。。
    还有顺便请教一下。TextOut出来的字符串,为什么不能保存?记事本的输入显示,保存是怎么实现的?如果继承了CEditView类,想增加点功能,如鼠标点哪,插入符显示在哪?然后可以在这个位置输入东西,TextOut显示出来。点文件保存的时候不能保存,在这些位置TextOut出来的东西是空白。CEditView类本来的保存文本功能怎么做到的?为什么在鼠标点击的地方输入的东西不能保存?这个功能该怎么实现?
      

  6.   

    楼主可否比较完整的描述一下你的这个CDView的功能,这样样才好知道要怎么做才好.
      

  7.   

    这个就是用mfc向导生成的啊。只不过生成时选择了他继承CEditView类,具有了基本的文本编辑功能啊。只想扩展功能啊。或大家有没mfc写记事本程序的资料,告诉一下小弟。谢谢了。
      

  8.   

    那每次点击后输入的文字可以TextOut显示出来。如果多次点击别的地方输入文字,这些都要保存下来。最后如何把整个文本的内容保存到一个文本文件中?向导生成的那个菜单-“保存”有这个功能吗?那又如何把VIEW框里显示的文字(包括任何地方输入的文字)原文保存在一个txt文本里呢?