zoukankan      html  css  js  c++  java
  • wxWidgets 和 MFC 混合使用

    其实网上有很多此类的文章了,但是有一点细节没有提到。

    举例说,我们有一个MFC写的APP,调用了很多MFC DLL,DLL里面有Dialog。如果我们要用wxWidget重写其中的一个Dialog,并且要这个Dialog ShowModal,就会需要到一点小小的技巧。

    void DllConfig(HWND hParent)
    {
        ConfigDialog dlg(Null);

        dlg.ShowModal();
    }

    这个ShowModal是不会正常工作的,因为parent为NULL。为了正常工作,构造需要ConfigDialog(wxWindow *parent...),而传进来的参数是RAW Handle。怎么办呢?我们来一个小小的hack:

    void DllConfig(HWND hParent)
    {
        wxWindow win;
         win.SetHWND((WXHWND)hParent);
         win.Enable(false);

        ConfigDialog dlg(&win);

        dlg.ShowModal();
        win.Enable(true);
         win.SetHWND(NULL);
    }

  • 相关阅读:
    minecraft我的世界汇总网站
    扫雷网页版
    扫雷模型(非完全一样)
    设计模式-策略模式
    hadoop(2)hadoop配置
    hadoop(1)入门
    Openssl
    加密解密
    信息安全通信
    Web
  • 原文地址:https://www.cnblogs.com/skogkatt/p/4163293.html
Copyright © 2011-2022 走看看