初写一个DLL...此DLL中有一对话框Dlg...Dlg上有一按钮Butt...Butt所响应的事件由调用此DLL的使用者决定...
在Butt响应事件时听说要使用回调函数...
由于初写DLL...谁能给点代码...

解决方案 »

  1.   

    在Butt响应事件时听说要使用回调函数?不明白你的意思。
      

  2.   

    我明白你想动态库回调,主程序中的函数.hehe,据我所知,不能做到.
      

  3.   

    to biweilun :
    http://topic.csdn.net/t/20030511/20/1769498.html
    我看的这个网页...
    他的功能基本就是我要的...
      

  4.   

    to ccemail :
    一切皆有可能...
      

  5.   

    2种方案//1).
      HINSTANCE   Old_hInst=::AfxGetResourceHandle();   
      ::AfxSetResourceHandle(theApp.m_hInstance);   
      CMyDlg   dlg;   
      dlg.DoModal();   
      AfxSetResourceHandle(Old_hInst);   
    //2).   
      AFX_MANAGE_STATE(::AfxGetAppModuleState());   
      CMyDlg   dlg;   
      dlg.DoModal();   
    CMyDlg为CDialog的派生类
      

  6.   

    在你的DLL中写个函数指针。
    调用DLL处实现该函数,将函数地址赋给函数指针。简单说,这样就实现了回调。
      

  7.   

    to yyunffu :
    听着就是我想要的...呵呵...能不能写下大体的代码...多谢...
      

  8.   

    to biweilun :
    多谢你的代码...
    我主要想要那个按钮的...呵呵...
      

  9.   

    如果使用MFC的button,你可以直接双击button,让编译器为你添加对应的按钮响应事件,在事件函数中,自己处理
      

  10.   


    呵呵...这个事件肯定要加了...
    CXXX::OnBnClicked()
    {
         ???   // 但是这里执行的东西...要根据用户的指令来操作
    }
      

  11.   

    不是我想执行什么...呵呵...
    是使用此DLL的人想执行什么...
      

  12.   

    这个没关系的,在MFC DLL这些都很好搞定的,直接为按钮添加处理事件就可以了。如9#所说
      

  13.   

    感觉你是说的就是回调函数???
    大体是这样来写的,
    在DLL中
    typedef void (*pfnFunc)(void);
    在DLL中定义这样一个类似的函数比如:
    void Advise(pfnFunc pFunc)
    {
    .....
    pFunc();
    ......
    }
    然后在调用DLL的代码里面,定义一个函数
    形如void func(void)
    在里面实现这个函数,然后把函数的地址传给DLL的Advise函数!
    pfnFunc pFunc = func;
    Advise(pFunc);
    这样!
      

  14.   

    这不就是dll的显式调用吗?这跟回调有屁关系啊?回调CALLBACK是像EnumWindow那样的由系统做的函数才叫回调函数好不好???!!
      

  15.   

    引用 15 楼 jasonM2008 的回复:
    感觉你是说的就是回调函数??? 
    大体是这样来写的, 
    在DLL中 
    typedef void (*pfnFunc)(void); 
    在DLL中定义这样一个类似的函数比如: 
    void Advise(pfnFunc pFunc) 

    ..... 
    pFunc(); 
    ...... 

    然后在调用DLL的代码里面,定义一个函数 
    形如void func(void) 
    在里面实现这个函数,然后把函数的地址传给DLL的Advise函数! 
    pfnFunc pFunc = func; 
    Advise(pFunc); 
    这样! 
     
    这不就是dll的显式调用吗?这跟回调有屁关系啊? 回调CALLBACK是像EnumWindow那样的由系统做的函数才叫回调函数好不好???!!
    是我说错了...哈哈...这位大哥不要生气噢...