我新建了一个但文档工程,新建了一个对话框类,我想使用户点击对话框的"cancel"后,在单文档界面上输出:
“cancel”,所以我给对话框上的按钮“cancel”添加事件处理,我的程序为:
void CtestinputView::OnBnClickedCancel(CDC* pDC)
{
// TODO: 在此添加控件通知处理程序代码
pDC->TextOut(100,120,"you cancel");
}
其中:CDC* pDC是我想引用到这个处理方法内的参数,因为要输出到屏幕上一定要用到pDC,可这样引用可能有问题,
结果输出错误:g:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\testinput\testinputView.cpp(101): error C2511: “void CtestinputView::OnBnClickedCancel(CDC *)” : “CtestinputView”中没有找到重载的成员函数
        g:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\testinput\testinputView.h(8) : 参见“CtestinputView”的声明
g:\Documents and Settings\Administrator\My Documents\Visual Studio Projects\testinput\testinputView.cpp(87): warning C4244: “初始化” : 从“INT_PTR”转换到“int”,可能丢失数据
多谢!

解决方案 »

  1.   

    不行!视图中
    if(dlg.DoModal()!=IDOK)
    {
          pDC->TextOut(100,100,"cancle");
    }
      

  2.   

    多谢楼上!那为什麽在“void CtestinputView::OnBnClickedCancel”方法中不能引用pDC呢?错误提示说:“CtestinputView”中没有找到重载的成员函数是什麽意思?
      

  3.   

    不是不能引用,是不能像你这样引用,不是说我想要什么,只要在函数的参数列表里面写上什么就可以了。你今天是要CDC* pDC,明天当你要一个主窗口的指针的时候是不是这样写呢void CtestinputView::OnBnClickedCancel(CMainFrame* pMainFrame)?后天你又要别的了,那是不是又想改呢?
    谁传递这个参数给你你想过没有,用MFC生成的函数,他的参数是不能改的
    都是固定的,你改了他怎么知道你想要什么?