我们知道MFC 可以和ATL混合开发,那么MFC和win32 sdk能否混合开发?大家都知道,mfc生成的框架程序中可以调用全局sdk函数(::),但是事情不是这么简单,打个比方,原来有一个win32 sdk写的window,当然就没有mfc的message map了,都是在wndproc里实现,那么我能在mfc的框架中直接使用这个sdk包装的window吗。这个sdk包装的window使用的sdk函数自然也没有::全局调用的符号,放到mfc框架程序的环境下也有问题。
再麻烦一点,比如原来有一个win32 sdk的软件,主窗口是一个window(包含了对话框、toolbar等较多sdk界面代码),实现了对某工控的实时监控;现在我有另一个mfc的多view程序,想把这个sdk的程序作为mfc框架的一个view。两者都是有代码的,现在希望可以实现混合开发,以最少的代价实现升级功能。
各位高人对此有何高见,请发表您的看法,大家讨论一下。

解决方案 »

  1.   

    MFC是基于Win32SDK的,他们本身就是混合的,正如在MFC中同样可以用Win32的函数一样。
      

  2.   

    win32 sdk的软件?
    是单独的exe?还是com控件?dll?
    每个对待的各个方法都不一样。
      

  3.   


    是exe,但是两者都是有代码的!
      

  4.   


    我试了一下,使用sdk编写的dialog还是很容易的,头上加上stdafx.h,加上资源,基本可以用了,或许是因为dialog不与其他类有message交互。其他window还没有试。请继续讨论...
      

  5.   

    本来mfc就是sdk写的,说两者混合有点奇怪,本来就是一个东西啊
    我以前写项目的时候,mfc只是个框架,其他基本上都用sdk,比如说,从来不用他的子类化机制,自己直接setwindowlong,感觉挺爽的,哪里不如意了就直接改写windowproc,呵呵,随心所欲
      

  6.   


    这到用mfc框架整合sdk软件的距离还挺远。
      

  7.   

    还是看看用SDK编写了哪一部分代码吧,不同情况需要不同的处理。