找回密码
 立即注册

QQ登录

只需一步,快速开始

qianwn

中级会员

6

主题

7

帖子

944

积分

中级会员

积分
944

活字格认证

qianwn
中级会员   /  发表于:2013-6-8 22:29  /   查看:5643  /  回复:4
你好。
   
     我在X64位系统编译环境下,以前一直是在MFC的界面用画一个用户自定义(custom control)控件后用Tspread类来初始化这个控件为spread表格。

    但是在一些环境下,我需要动态的在一个空白的VIEW中动态创建一个表格。

   我的代码如下:
先定义个TSPREAD类:


TSpread  formula;
   
   
  
  1. RECT rectdummy;
  2.     dword style;//这里省略掉初始化方法

  3.    formula.Create(style,rectdummy,this,1);
  4.    
复制代码


编译的时候会提示路下图所示的错误:

错误.jpg (292.66 KB, 下载次数: 768)

4 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-6-9 18:04:00
沙发
回复 1楼qianwn的帖子

你好,能否请你把例子发上来看看?
回复 使用道具 举报
qianwn
中级会员   /  发表于:2013-6-9 21:55:00
板凳
回复 2楼iceman的帖子

你好,尝试发整个工程上来,但是VS2010建立的工程有60M之大,无法发上来。

现在简单说一下:

建立一个空白的MFC工程(我建立的是一个CFormView类型的单文档工程)


引用spread的控件头文件后,

建立变量:

  1. TSpread Formula;
复制代码



后在CPP文件中加入创建窗口代码:

  1. BOOL CSpreadDynamicCreateView::PreCreateWindow(CREATESTRUCT& cs)
  2. {
  3.         // TODO: 在此处通过修改
  4.         //  CREATESTRUCT cs 来修改窗口类或样式
  5.         RECT dummyrect;
  6.         dummyrect.bottom=200;
  7.         dummyrect.top=0;
  8.         dummyrect.left=0;
  9.         dummyrect.right=100;

  10.         DWORD StyleWord=WS_VISIBLE;

  11.         Formula.Create(StyleWord,dummyrect,this,1);

  12.         return CFormView::PreCreateWindow(cs);
  13. }
复制代码


创建是失败的,

如果只包含"ssdllmfc.h"文件,会提示上文的图片错误。
今天我另外包含了“ssdllmfc.cpp”文件进入工程。

当程序调试到Formula.Create(StyleWord,dummyrect,this,1);这一行时,返回值是false。
创建失败。

程序源代码:(缺少SpreadDynamicCreate.sdf文件,这个是工程配置文件,太大了,60M )

VS版本为VS2010


SpreadDynamicCreate.zip (164.11 KB, 下载次数: 858)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-13 17:49:00
地板
回复 3楼qianwn的帖子

qianwn 你好,

附件我们已经接收,会进行调试,有进展会更新帖子状态。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-18 08:53:00
5#
回复 3楼qianwn的帖子

qianwn 你好,

本问题目前的状态为:已经提交到产品组进行调试,如果得到反馈,我会进一步更新帖子状态。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部