这种类要怎么写,还是没法写 我在程序中添加了一个activex控件,生成了一个类,这个activex控件类派生于cwnd,现在我想对这个activex控件在进行一次封装,由于这个类是派生于cwnd,我应该必须添加基于MFC的类才行,可是在添加选择基类的时候并没有这个activex控件类,所以我现在根本没办法添加,这样的话该怎么做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是说手动添加这个类,添加方式的话是按照派生于MFC类的格式? 应该是以MFC的派生类来写吧,这个东西怎么加#if !defined(AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_)#define AFX_MFCCLASS_H__10BEE761_A8FB_4122_A3E3_3603EB3D857B__INCLUDED_ #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_换成一个唯一的串也行 遇到问题了,下面这个是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要怎么解决呢? #include "CChild.h"#inlcude "StdAfx.h"变换一下顺序试试#inlcude "StdAfx.h"#include "CChild.h" 你的类名好复杂,CMProccess,CMProc,Cproc...这么多,是一个吗? CP通信最简单实例 VC模块中调用VB模块 谁能帮我改下程序啊/ 游戏修改中内存地址问题 关于“下载”的一些问题 SQL中如何获取当前目录 类型转换问题 简单问题 请教一个采集数据、绘图的问题 为什么在用ADO中,如删除最后一条记录,再MOVENEXT(),就会报错? VC6.0下怎么让MSFLEXGRID上 控件类
#define 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_
换成一个唯一的串也行
#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要怎么解决呢?
#inlcude "StdAfx.h"
变换一下顺序试试
#inlcude "StdAfx.h"
#include "CChild.h"