如何在TreeView中响应双击事件?具体要改写哪个函数? 
在MFC中如何使用全局变量?
在MFC中如何使用动态连接库?我的理解是先载入然后用过之后卸载。但是应用中出现了问题,比如我一个程序中有好几个视图,每个视图的一些重载的函数都要用到同一个动态连接库中的函数,请问该怎么样实现在程序运行开始载入这个动态库,然后程序各个视图都用这个动态连接库,然后在程序结束时将其卸载掉?或者说我在每个试图的重载函数中每次都加载卸载动态链接库?但是第一次调用一个初始化函数时会得到一个句柄,这要在其它的函数中用到的,如果卸载了,那么其它函数重载时这个知还能用么?我想这要不就用个全局变量将这个值保存,下次在其它函数重载动态链接库时直接使用这个全局变量?
可使怎么样使用全局变量呢?
不知道说清楚了没有,请各位帮忙~
这个问题困惑好几天了,具体怎么样实现,请大侠给个思路。

解决方案 »

  1.   

    在一个公用类里添加一个静态函数来loadlibrary,同样的弄一个来freelibrary,在来一个或几个静态函数来负责调用导出函数,这样如何。这个类不用实例化
      

  2.   

    我现在想设置一个全局变量,在MFC中怎么样实现?
      

  3.   

    1、响应双击事件
    反射NM_DBLCLK通知。可以利用VC给视图类添加=NM_DBLCLK消息响应函数。
    2、使用全局变量
    在一个头文件中声明变量,所有使用该变量的cpp文件都包含此头文件,声明代码如:
    extern int a;
    在一个cpp文件中定义该变量,如:
    int a = 0; // 可初始化也可不初始化
    3、使用动态连接库
    有两种方式,一种是项目导入DLL的LIB文件隐式加载DLL;另一种是程序中用LoadLibrary显式加载DLL,用GetProcAddress获取导出函数地址并用函数指针变量来保存,之后调用该指针变量,不需要时用FreeLibrary卸载。对于长期使用的DLL,应该用隐式加载,或者在程序初始化时LoadLibrary,程序结束时FreeLibrary(也可以不卸载,进程结束自动卸载)。
      

  4.   

    关键是我只有DLL文件
    问题是在一个函数中调用了DLL的函数,然后要返回一个句柄,在其他的函数中同样要使用到这个句柄以及DLL的函数
      

  5.   

    问题已经解决,在DestroyWindow 中释放就行