我在程序中添加了一个activex控件,生成了一个类,这个activex控件类派生于cwnd,现在我想对这个activex控件在进行一次封装,由于这个类是派生于cwnd,我应该必须添加基于MFC的类才行,可是在添加选择基类的时候并没有这个activex控件类,所以我现在根本没办法添加,这样的话该怎么做呢?

解决方案 »

  1.   

    你是说手动添加这个类,添加方式的话是按照派生于MFC类的格式?
      

  2.   

    应该是以MFC的派生类来写吧,这个东西怎么加#if !defined(AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_)
    #define AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_
      

  3.   

    #if !defined(AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_)
    #define AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_
    这个只是一个防止多次编译的预定义而已,AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_
    换成一个唯一的串也行
      

  4.   

    遇到问题了,下面这个是activx控件生成的类#if !defined(AFX_MPROC_H__B4897CCC_CFE9_4F09_B13B_440E47578112__INCLUDED_)
    #define AFX_MPROC_H__B4897CCC_CFE9_4F09_B13B_440E47578112__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000class Cproc : public CWnd
    {
    protected:
    DECLARE_DYNCREATE(CMProccess)
    public:
    CLSID const& GetClsid()
    {
    static CLSID const clsid
    = { 0x6454589a, 0xa82d, 0x4e8d, { 0xa1, 0x3b, 0x10, 0x8e, 0x9b, 0x11, 0x41, 0xf9 } };
    return clsid;
    }
    };//{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_MPROC_H__B4897CCC_CFE9_4F09_B13B_440E47578112__INCLUDED_)
    我现在创建一个派生于CProc的类CChild
    .h文件如下:#if !defined(AFX_CHILD_H__B4897CCC_CFE9_4F09_B13B_440E47578155__INCLUDED_)
    #define AFX_CHILD_H__B4897CCC_CFE9_4F09_B13B_440E47578155__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000class CChild : public CMProc
    {
    public:
    private:
    void shot();};
    #endif .cpp文件如下:#include "CChild.h"
    #inlcude "StdAfx.h"
    void CChild::shot()
    {
        
    }
    结果报错d:\program files\microsoft visual studio\myprojects\activex\cchild.cpp(7) : fatal error C1010: unexpected end of file while looking for precompiled header directive要怎么解决呢?
      

  5.   

    #include "CChild.h"
    #inlcude "StdAfx.h"
    变换一下顺序试试
    #inlcude "StdAfx.h"
    #include "CChild.h"
      

  6.   

    你的类名好复杂,CMProccess,CMProc,Cproc...这么多,是一个吗?