CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  ATL/ActiveX/COM

在OCX中嵌套了VSPrint7.ocx,在IE中显示不出来?

楼主sigui(全世界软硬件,统一起来!)2006-03-08 15:32:30 在 VC/MFC / ATL/ActiveX/COM 提问

用  
  http://www.codeguru.com/Cpp/COM-Tech/activex/controls/article.php/c2615/  
  的方法创建的OCX,不放VSPrint是没问题的。就是一放上去,在IE或者ActiveX   Control   Test   Container里引导出来就报错,调试发现是  
  void   CWnd::MoveWindow(int   x,   int   y,   int   nWidth,   int   nHeight,   BOOL   bRepaint)  
  {  
  ASSERT(::IsWindow(m_hWnd));  
  ……  
  }  
  报错说m_hWnd有问题。  
   
  请问如何解决?谢谢! 问题点数:85、回复次数:12Top

1 楼firmbird(firmbird)回复于 2006-03-08 16:01:09 得分 5

ocx是不是有窗体的啊?Top

2 楼laiyiling(陌生人[MVP])回复于 2006-03-08 16:31:38 得分 75

MoveWindow前先判断m_hWnd  
  http://topic.csdn.net/t/20050324/23/3879276.htmlTop

3 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-08 17:25:52 得分 0

看来应该是框架的问题,我学学先。  
   
  只要没有嵌套ocx,怎么搞都是对的……Top

4 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-09 08:50:57 得分 0

firmbird,VSPrint本身是一个打印控件,我创建了一个窗体(CDialog)来放它。我需要显示这个控件并且在界面上操作。Top

5 楼firmbird(firmbird)回复于 2006-03-09 09:56:39 得分 0

我是指控件的m_bWindowOnly有没有设置成trueTop

6 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-09 11:16:51 得分 0

我太弱了……;(  
   
  firmbird,我刚学VC,用的是vc6,我没有找到m_bWindowOnly在哪里……  
  是不是我要换个版本?看了laiyiling给的那个网址,感觉vc6对atl的支持也是很弱的。Top

7 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-09 11:57:14 得分 0

我只要不把VSPrint7这个控件放在窗体上,m_hWnd就不是NULL,只要放上,就肯定为NULL……Top

8 楼softwaiter(softwaiter)回复于 2006-03-09 12:50:49 得分 0

好像需要把vsprint7.ocx放到系统目录中进行注册才可以,可以试一下(因为没有注册的原因);不知道对不对Top

9 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-09 15:40:43 得分 0

softwaiter(软件侍者)   :vsprint7.ocx是一个安装版,自动注册过的,可以在资源视图里直接拖到窗体里的。Top

10 楼softwaiter(softwaiter)回复于 2006-03-10 13:11:22 得分 5

奥,也许吧,不过我说的注册是指正版注册,因为不是正版的话在运行时好像会检测组件的位置,如果不在系统目录中,就不能正常使用,很久以前遇到过,不知道记得对不对Top

11 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-13 17:24:50 得分 0

问题还是没有解决,把VSPrint直接放到IE里面倒是可以,但是外围函数全部要用jsp来写有点恐怖……  
   
  把VSPrint控件加到项目里面的时候,它自己倒是提供了Create()函数,如果是正常的exe程序,可能不知道在哪里就给初始化了;在ocx里,好像没有这一过程……  
   
  继续试验……Top

12 楼sigui(全世界软硬件,统一起来!)回复于 2006-03-14 15:36:06 得分 0

用VC8的ATL复合控件搞定。结贴。Top

相关问题

  • ocx中嵌套ocx的问题
  • 关于嵌套IE的问题,请高手回答
  • 嵌套查询!
  • 嵌套(select)
  • 嵌套的datagrid?
  • datalist嵌套RadioButtonList
  • Repeater嵌套Repeate
  • datagrid嵌套
  • 关于嵌套类
  • DNS 能否嵌套?

关键词

  • 控件
  • 注册
  • vc
  • vsprint
  • ocx
  • 窗体
  • 好像
  • 问题
  • hwnd
  • 知道

得分解答快速导航

  • 帖主:sigui
  • firmbird
  • laiyiling
  • softwaiter

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo