想要写一个自己的Wnd类,但是不要从CWnd中继承,而是自己重新写一个,不知道怎么下手,请高手指点迷津。
不从CWnd中继承是因为我要写一个控件,该控件用于delphi下开发。

解决方案 »

  1.   

    最好是用ATL或WTL。
    或许你如果对API熟悉的话,这些都不是问题。
      

  2.   

    完全不用重新写的。
    设计模式里面有个桥接模式,你可以学习学习。
    应该可以解决现有使用接口与目标使用接口不一致的问题。
    而且可维护性很强。
    UML图可以简单表示为.
    CWnd是已经具有的实现(是一个基类)。
    CDelphiWnd有待实现的抽象类(接口类)
    CDelphiWndImp是从这两个派生出来的具体实现。属于一个桥接模式,把这两个衔接起来了。CWnd<-------\
                 \
                  CDelphiWndImp
                 /
    CDelphiWnd<-/CDelphiWnd如何与Delphi通信也存在一定问题的。
    可以使用操作系统消息通信。这样只与操作系统相关,而独立于开发语言。最经典的scintilla就是采用这个设计。也可以采用微软的COM机制,就是楼上DentistryDoctor说的啦。