MFC的ActiveX,要加入自定义类的支持,该怎么做?

KKND2006 2009-11-12 12:50:48
现在在写一个基于MFC的ActiveX,其中涉及到接口函数要传递自定义的类对象

在工程里面使用向导添加了一个自动化的类COrder,继承自CCmdTarget,客户端ID是Test.Order

但是VBS里面使用Set obj = CreateObject("Test.Order")报错,无法创建对象

查了资料,说是要支持双接口才可以,但是怎么修改才能支持双接口?

有没有可以参考的代码?

非常感谢
...全文
162 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
雪影 2009-11-14
  • 打赏
  • 举报
回复
那你进入调试状态,单步调试,看一下是什么错误了
zhugang0911 2009-11-14
  • 打赏
  • 举报
回复
使劲顶起
cicigl 2009-11-14
  • 打赏
  • 举报
回复
帮顶,UP
KKND2006 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tttyd 的回复:]
估计是有无符号的问题,估计是js传过来的数据是无符号的数据,而你使用无符号数据来获取,这可能出错.
[/Quote]

不光是数字类型,字符串类型干脆显示《指针错误》,所有属性都一样

我是用IDISPATCH* 从ActiveX创建内置自动化对象->JS接收(JS接收后,对象属性都是正确的)-> JS修改对象属性->ActiveX(这一步就出现问题了,ActiveX可以接收到对象,可以从IDISPATCH*强制转换为Entity*,但是属性全部丢失了)

是因为COM对象在ActiveX和JS之间传递,被意外释放掉了么,但是我在从ActiveX->JS传递IDISPATCH*的时候,是使用GetIDISPATCH(TRUE)传递的,应该是AddRef了的
LPR_Pro 2009-11-13
  • 打赏
  • 举报
回复
学习
jyh_baoding 2009-11-13
  • 打赏
  • 举报
回复
帮顶
雪影 2009-11-13
  • 打赏
  • 举报
回复
估计是有无符号的问题,估计是js传过来的数据是无符号的数据,而你使用无符号数据来获取,这可能出错.
KKND2006 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jiangsheng 的回复:]
搜索TN038
也可以在控件中声明一个方法来创建新的对象,不必非要一个CLSID
[/Quote]

可以在JS里面创建ActiveX里面的自动化对象了,但是在JBS里面改了对象属性后,再传到ActiveX,发现对象的属性都消失了,象是ID,本来在JS里面显示都是101,但是再传递到ACTIVEX里面,发现ID成了-8XXXXXXX,这个怎么解决?
蒋晟 2009-11-13
  • 打赏
  • 举报
回复
搜索TN038
也可以在控件中声明一个方法来创建新的对象,不必非要一个CLSID
KKND2006 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happyparrot 的回复:]
http://www.vckbase.com/document/viewdoc/?id=1506
这篇文章中介绍了如何实现双接口。
[/Quote]

我就是照着这个文章做的,但还是没效果,查资料说是要改成dual interface,但是找不到相关文章和代码
xwsn007 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happyparrot 的回复:]
http://www.vckbase.com/document/viewdoc/?id=1506
这篇文章中介绍了如何实现双接口。
[/Quote]

学习
快乐鹦鹉 2009-11-12
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=1506
这篇文章中介绍了如何实现双接口。
说明:本书稿为张孝祥、袁龙友两位老师在2000 年依据张孝祥的vc 讲课记录整理,由于时间关系,仅仅是写成了草稿,欢迎大家使用! 第1 章 掌握C 1.1 的定义与应用 1.1.1 结构的定义 1.1.2 的定义 1.1.2.1 与结构 1.1.2.2 的使用 (例子代码EX01-00) 1.2 函数的重载 1.2.1 重载参数个数不同的函数 (例子代码EX01-01) 1.2.2 重载参数数据型不同的函数 (例子代码EX01-02) 1.3 构造函数与析构函数 1.3.1 构造函数 1.3.2 析构函数 (图1,没有)(图2,没有) 1.4 this 指针的引用 1.5 的继承与protected 访问修饰符 1.5.1 单一继承 (例子代码EX01-03) (图x,没有) 1.5.2 多重继承 1.6 虚函数与多态性 1.7 的书写规范 1.8 小结 第2 章 Windows 程序内部运行原理 2.1 Windows 应用程序,操作系统,计算机硬件之间的相互关系 2.1.1 关于API (图1,没有) 2.1.2 关于消息及消息队列 (图1、图2 没有) 2.2 什么是句柄 2.3 谈谈WinMain 函数 (例子代码EX02-00) 2.3.1 WinMain 函数的定义及功能 2.3.2 窗口及其生成 2.3.2.1 如何设计一个窗口——步骤1 2.3.2.2 注册设计好的窗口——步骤2 2.3.2.3 创建窗口——步骤3 2.3.2.4 显示创建的窗口——步骤4 2.3.3 消息循环 2.3.4 完成回调函数 2.4 程序编写操作步骤与实验 2.5 小结 第3 章 VC 集成开发环境介绍 3.1 Visual C 开发环境 3.1.1 工作区窗格 3.1.2 输出窗格 3.1.3 编辑区 3.1.4 菜单栏、工具栏、状态栏 3.2 系统菜单功能介绍 3.2.1 File 菜单 3.2.2 Edit 菜单 3.2.3 View 菜单 3.2.4 Insert 菜单 3.2.5 Project 菜单 3.2.6 Build 菜单 3.2.6 Tools 菜单 3.2.7 Window 菜单 3.2.8 Help 菜单 3.3 Visual C 重要工具介绍 3.3.1 C/C 编译器 3.3.2 资源编辑器 3.3.3 资源编译器 3.3.4 链接器和调试器 3.3.5 AppWizard 和ClassWizard 3.3.6 资源浏览器 3.3.7 Microsoft 活动模板库、仓库 3.4 小结 第4 章 MFC 应用程序框架剖析 4.1 什么是MFC 以及MFC 的特点 (例子代码EX04-00) 4.2 MFC 应用程序框架 (例子代码EX04-01) 4.3 应用程序框架说明 4.4 文档-视图体系结构 4.4.1 文档-视图相互作用的函数 4.4.2 单文档-视图应用程序结构 4.4.2 多文档-视图应用程序结构 4.5 MFC 消息映射机制 4.5.1 消息的种 4.5.2 应用程序的Run 函数 4.5.3 消息映射表 4.5.4 如何添加消息映射 4.6 ClssWizard 的使用 4.6.1 ClssWizard 概貌 4.6.2 如何添加消息处理函数 4.6.3 如何添加成员变量 4.6.4 如何添加一个新 第5 章 图形与文本 5.1 理解图形设备接口 5.2 设备描述表 5.2.1 什么是设备描述表 5.2.2 MFC 中的设备描述表 5.2.3 获取设备描述表 5.3 Windows 的GDI 对象 5.4 GDI 对象的创建 5.4.1 自定义画刷(CBrush) 5.4.2 自定义画笔(CPen) 5.4.3 自定义字体(CFont) 5.5 GDI 对象的使用及示例 5.5.1 画笔的使用 5.5.1.1 在MFC 程序中画线 5.5.1.2 在Windows Application 程序中画线 5.5.1.3 实现橡皮筋功能 5.5.2 画刷的使用 5.5.2.1 带颜色的画刷的使用 5.5.2.2 带位图的画刷的使用 5.5.3 字体的使用 5.5.3.1 一个简单的文字处理程序 5.5.3.2 模拟卡拉OK 程序 5.5.3.3 剪切区和路径层 第六章 菜单、工具栏和状态栏 6.1 菜单 6.1.1 菜单介绍 6.1.2 创建一个菜单 6.1.2.1 添加一个菜单资源 6.1.2.2 利用菜单编辑器编辑菜单资源 6.1.2.3 将菜单加入到应用程序中 6.1.2.4 给菜单项添加COMMAND 消息处理 6.1.2.5 给菜单项添加UPDATE_COMMAND_UI 消息处理 6.1.2.6 一个简单的绘图程序 6.1.3 在应用程序中控制菜单 6.1.3.1 在应用程序中取得菜单 6.1.3.2 在应用程序中修改菜单的状态 6.1.3.3 在应用程序中添加、删除、插入菜单或菜单项 6.1.3.4 一个简易的电话本程序 6.1.4 创建快捷方式菜单 6.2 工具栏 6.2.1 工具栏介绍 6.2.1.1 熟悉CToolBar 6.2.1.2 AppWizard 是如何创建工具栏 6.2.1.3 利用工具栏编辑器设计工具栏按钮 6.2.2 新建一个工具栏 6.2.3 显示/隐藏工具栏 6.3 状态栏 6.3.1 状态栏介绍 6.3.1.1 熟悉CStatusBar 6.3.1.2 AppWizard 是如何创建状态栏 6.3.2 修改状态栏 6.3.2.1 指示器数组 6.3.2.2 修改状态栏窗格 6.3.3 在状态栏上显示鼠标坐标、时钟和进度条 6.3.3.1 在状态栏上显示鼠标坐标 6.3.3.2 在状态栏上显示时钟 6.3.3.3 在状态栏上显示进度条 第七章 对话框和控件 7.1 对话框及控件的介绍 7.1.1 常用控件介绍 7.1.2 对话框介绍 7.1.2.1 对话框的组成 7.1.2.2 对话框的种 7.1.2.3 使用对话框编辑器设计对话框 7.1.3 创建一个对话框 7.1.3.2 创建非模态对话框 7.1.3.3 对话框的数据交换机制 7.1.3.4 创建模态对话框 7.1.4 模态对话框和非模态对话框的区别 7.1.5 按钮逃跑小程序 7.2 属性页和向导对话框 7.2.1 创建属性页对话框 7.2.1 创建向导对话框 7.3 公用对话框 7.3.1 增加设置对话框来完善绘图程序 7.3.2 颜色对话框的使用 7.3.3 字体对话框的使用 7.3.4 控制控件颜色漂亮界面 第8 章 文档序列化 8.1 序列化 8.1.1 CArchive 和Serialize 函数 8.1.2 使自己的支持序列化 8.1.3 实例:保存和显示图形 8.2 CFile 8.2.1 CFile 的构造函数 8.2.2 打开文件 8.2.3 读写数据 8.2.4 关闭文件 8.3 文件I/O 处理 8.3.1 利用MFC 来实现 8.3.2 利用C 函数来实现 8.3.3 利用C 函数来实现 8.3.4 利用API 函数来实现 8.3.5 创建保存、打开对话框 8.4 注册表操作 8.4.1 什么是注册表 8.4.2 注册表结构 8.4.3 修改注册表 第9 章 修改框架程序的显示效果 9.1 修改Windows 应用程序外观样式 9.1.1 在框架中修改程序外观 9.1.2 在视图中修改程序外观 9.2 制作动画图标 9.3 将图片作为窗口显示的背景 第10 章 网络编程 10.1 计算机网络的基本概念 10.1.1 计算机网络的分 10.1.2 网络拓扑结构 10.2 网络体系结构和网络协议 10.2.1 ISO/OSI 参考模型 10.2.2 TCP/IP 参考模型 10.2.3 TCP/IP 协议 10.2.3.1 协议概述 10.2.3.2 TCP/IP 协议层次结构及各种协议介绍 10.2.3.3 IP 地址 10.2.3.4 端口号 10.2.4 专业术语解释 10.3 Socket 套接字 10.3.1 Socket 介绍 10.3.2 关于协议族和地址族 10.3.3 使用Socket 10.3.3.1 创建Socket 10.3.3.2 指定本地地址及端口号 10.3.3.3 建立连接 10.3.3.4 监听连接 10.3.3.5 发送数据 10.3.3.6 接收数据 10.3.3.7 关闭套接字 10.3.4 套接字一般调用过程 10.4 WinSock 编程机制 10.4.1 认识Windows Socket 10.4.2 Windows Sockets 库函数介绍 10.4.2.1 Berkeley socket 函数 10.4.2.2 数据库函数 10.4.2.3 Windows 专有扩展函数 10.5 WinSock 编程实例 10.5.1 实例一:面向连接服务的socket 调用 10.5.2 实例二:面向非连接服务的socket 调用 10.5.3 实例三:基于字符界面的聊天程序 第11 章 线程间的同步 11.1 进程和线程的概念 11.2 Win32 的线程 11.2.1 线程的创建 11.2.2 线程的终止 11.2.3 实例:通过创建多线程来编写网络聊天程序 11.3 MFC 的线程处理 11.3.1 创建工作者线程 11.3.2 创建用户界面线程 11.4 线程同步 11.4.1 为什么要同步 11.4.2 等待函数 11.4.3 同步对象 11.4.3.1 关键代码段 11.4.3.2 互斥对象 11.4.3.3 信标对象 11.4.3.4 事件对象 11.4.4 如何选择同步对象 第12 章 进程间的通讯 12.1 进程控制 12.1.1 进程的创建 12.1.2 进程的终止 12.2 进程间通讯 12.2.1 剪贴板通讯方式 12.2.2 邮槽通讯方式 12.2.3 管道通讯方式 12.2.3.1 命名管道通讯 12.2.3.2 匿名管道通讯 第14 章 ActiveX 技术 14.1 ActiveX 简介 14.2 ActiveX 控件和普通Windows 控件 14.2.1 ActiveX 控件和普通Windows 控件的相同点 14.2.2 ActiveX 控件和普通Windows 控件的相同点 14.3 ActiveX 控件的属性、方法和事件 14.3.1 ActiveX 控件的属性 14.3.2 ActiveX 控件的方法 14.3.3 ActiveX 控件的事件 14.4 创建ActiveX 控件
光 盘 说 明 1.本书第4~16章所附代码的运行环境: Visual C++ 6.0及以上版本 最低配置为:CPU:P 233以上.32MB以上内存 2.本书所附光盘范例 第4章 项目ExTest,“不任何事情”的应用程序。 第5章 项目ExTest,在客户区中央显示“HELLO!”; 项目ExMyMessage,自定义消息。 第6章 项目ExMDI,“不任何事情”的多文档应用程序; 项目ExSDI,验证文档视图结构中的命令消息处理顺序。 第7章 项目ExMouseCapture,鼠标捕获; 项目ExCursor,改变客户区光标为I形光标; 项目ExMK,鼠标光标位置坐标在状态栏的显示和客户区点击鼠标左键,弹出鼠标光标位置信息对话框; 项目ExChar,只有在当前窗口下输入字符“A”或“a”时,才弹出对话框。 第8章 项目ExTest,修改系统菜单的相关操作; 项目ExPdMenu,添加下拉菜单并实现命令响应,以及工具栏和状态栏的操作; 项目ExPuMenu,弹出菜单的创建、载入与功能实现; 项目ExMyDT,菜单、工具栏、状态栏综合操作,实现一个简单的绘图板。 第9章 项目ExMdMl,反映模式对话框与非模式对话框的几点不同; 项目ExDlgTest(C4),北京奥运金牌榜首的投票对话框,单选按钮、复选框、下压按钮与组框操作; 项目ExDlgTest(C5),个人信息录入对话框,列表框、组合框与滚动条操作; 项目ExDlgTS,通过改变选项卡所包含的颜色滑块实现单文档主窗口所包含图形的色彩变化,选项卡和滑块操作。 第10章 项目ExPen,画笔操作; 项目ExBrush,画刷操作; 项目ExFont,字体操作; 项目MyDraw,位图操作; 项目ExArc,对预设圆左上1/4部分的截取,绘制曲线操作; 项目ExBezier,利用贝塞尔函数绘制图形; 项目ExPie,绘制饼状楔形图; 项目ExDrawText,绘制文本; 项目ExMapMode,设定映射模式并基于设定的映射模式完成绘图。 第11章 项目ExFileStatus,使用CFile提供的方法实现文件信息获取; 项目ExArTest,利用串行化机制执行读写操作。 第12章 项目ExThread,创建工作线程,计算1+2+…+n; 项目ExMultithreading,创建两个线程,分别用于对一个已有数组的读和写操作,多线程编程。 第13章 项目Calculate和项目ExTestCal,分别用于创建和使用静态链接库; 项目CalSquare和项目ExTestCalSquare,分别用于创建和使用规则动态链接库; 项目CalGCD和项目ExTestCalGCD,分别用于创建和使用扩展动态链接库。 第14章 项目ExMyAccess,MFC ODBC数据库程序创建与操作。 第15章 项目ExSocket和项目ExClient,通过Socket编程实现数据收发; 项目ExGetIP,网络应用程序,IP获取。 第16章 项目SampleCtrl和项目ActiveXTester,创建和使用ActiveX控件。
光 盘 说 明 1.本书第4~16章所附代码的运行环境: Visual C++ 6.0及以上版本 最低配置为:CPU:P 233以上.32MB以上内存 2.本书所附光盘范例 第4章 项目ExTest,“不任何事情”的应用程序。 第5章 项目ExTest,在客户区中央显示“HELLO!”; 项目ExMyMessage,自定义消息。 第6章 项目ExMDI,“不任何事情”的多文档应用程序; 项目ExSDI,验证文档视图结构中的命令消息处理顺序。 第7章 项目ExMouseCapture,鼠标捕获; 项目ExCursor,改变客户区光标为I形光标; 项目ExMK,鼠标光标位置坐标在状态栏的显示和客户区点击鼠标左键,弹出鼠标光标位置信息对话框; 项目ExChar,只有在当前窗口下输入字符“A”或“a”时,才弹出对话框。 第8章 项目ExTest,修改系统菜单的相关操作; 项目ExPdMenu,添加下拉菜单并实现命令响应,以及工具栏和状态栏的操作; 项目ExPuMenu,弹出菜单的创建、载入与功能实现; 项目ExMyDT,菜单、工具栏、状态栏综合操作,实现一个简单的绘图板。 第9章 项目ExMdMl,反映模式对话框与非模式对话框的几点不同; 项目ExDlgTest(C4),北京奥运金牌榜首的投票对话框,单选按钮、复选框、下压按钮与组框操作; 项目ExDlgTest(C5),个人信息录入对话框,列表框、组合框与滚动条操作; 项目ExDlgTS,通过改变选项卡所包含的颜色滑块实现单文档主窗口所包含图形的色彩变化,选项卡和滑块操作。 第10章 项目ExPen,画笔操作; 项目ExBrush,画刷操作; 项目ExFont,字体操作; 项目MyDraw,位图操作; 项目ExArc,对预设圆左上1/4部分的截取,绘制曲线操作; 项目ExBezier,利用贝塞尔函数绘制图形; 项目ExPie,绘制饼状楔形图; 项目ExDrawText,绘制文本; 项目ExMapMode,设定映射模式并基于设定的映射模式完成绘图。 第11章 项目ExFileStatus,使用CFile提供的方法实现文件信息获取; 项目ExArTest,利用串行化机制执行读写操作。 第12章 项目ExThread,创建工作线程,计算1+2+…+n; 项目ExMultithreading,创建两个线程,分别用于对一个已有数组的读和写操作,多线程编程。 第13章 项目Calculate和项目ExTestCal,分别用于创建和使用静态链接库; 项目CalSquare和项目ExTestCalSquare,分别用于创建和使用规则动态链接库; 项目CalGCD和项目ExTestCalGCD,分别用于创建和使用扩展动态链接库。 第14章 项目ExMyAccess,MFC ODBC数据库程序创建与操作。 第15章 项目ExSocket和项目ExClient,通过Socket编程实现数据收发; 项目ExGetIP,网络应用程序,IP获取。 第16章 项目SampleCtrl和项目ActiveXTester,创建和使用ActiveX控件。
目录 第一部分 基础知识 第1章 环境 工具栏和菜单 环境窗口 在线帮助 MSDN库 在开发环境之外工作 第1章 环境 工具栏和菜单 环境窗口 在线帮助 MSDN库 在开发环境之外工作 第2章 AppWizard(应用程序向导) AppWizard(应用程序向导)的优点 运行AppWizard(应用程序向导) 用AppWizard(应用程序向导)来创建DLL文件 第二部分 编辑器 第3章 文本编辑器 启动文本编辑器 文档 浏览文档 文本搜索 编程辅助工具 Advanced(高级)命令 未结合命令 宏的基础 定制编辑器 在Developer Studio之外编辑文本 第4章 资源 系统资源 RC资源脚本文件 Resource. h头文件 AppWizard资源的例子 例程DiskPie1简介 菜单和加速键 字符串资源和状态栏 位图. 工具栏. 图标和光标 向DiskPie1添加代码 再谈未结合命令 修整资源数据 第5章 对话框和控件 对话脚本 对话编辑器 例1:修改 About对话 例2:简单的非模态对话框 例3:向AppWizard程序添加对话 基于对话的应用程序 第三部分 编程帮助工具 第6章 ClassWizard(向导) 访问ClassWizard ClassWizard对话 WizardBar(向导栏) ClassWizard如何识别 用ClassWizard创建对话 第7章 Gallery(组件集) 例子:添加一个属性表 例子:添加初始屏幕和时钟 创建自定义的组件 第四部分 ActiveX控件 第8章 使用ActiveX控件 背景知识简介 控件包容器 在包容器和 ActiveX控件之间进行通信 编写包容器应用程序 在没有对话编辑器的情况下工作 第9章 使用 MFC编写ActiveX控件 用于创建 ActiveX控件的 Visual C+十工具 ControlWizard 许可 例1:什么都不ActiveX控件 例2:Tower ActiveX控件 向ActiveX控件项目添加属性页 第10章 用ATL编写ActiveX控件 ATL和包容器应用程序 ATL和ActiveX控件 示例1:Pulse ActiveX控件 例子2:TowerATL ActiveX控件 对比组件模型 第五部分 高级主题 第11章 调试器 调试与发行 调试器的使用 断点 断点返回控制权给调试器的方式 建立调试版本 调试器界面 例子:开发和调试ShockWave程序 特殊的调试情况 第12章 编译器优化 优化入门 优化开关 从调试到发行 基准Visual C+十 第13章 自定义Visual C++ Options(选项)对话框 Customize(自定义)对话框 工具栏 添加命令到Tools(工具)菜单 宏 Developer Studio附加项 第六部分 附录 附录A ASCII和ANSI文件格式 附录B ClassWizard支持MFC 附录C VBScript初步
目录 (1) 如何通过代码获得应用程序主窗口的 指针? 5 (2) 确定应用程序的路径 6 (3) 如何在程序中获得其他程序的 图标? 6 (4) 获得各种目录信息 7 (5) 如何自定义消息 8 (6) 如何改变窗口的图标? 8 (7) 如何改变窗口的缺省风格? 8 (8) 如何将窗口居中显示? 9 (9) 如何让窗口和 MDI窗口一启动就最大化和最小化? 10 (10) 如何限制窗口的大小? 10 (11) 如何使窗口不可见? 10 (12) 如何创建一个字回绕的CEditView 10 (13) 如何使程序保持极小状态? 11 (14) 移动窗口 11 (15) 通用控件的显示窗口 12 (16) 重置窗口的大小 12 (17) 如何单击除了窗口标题栏以外的区域使窗口移动 12 (18) 如何改变视窗的背景颜色 14 (19) 如何改变窗口标题 15 (20) 如何防止主框窗口在其说明中显示活动的文档名 17 (21) 如何获取有关窗口正在处理的当前消息的信息 17 (22) 如何在代码中获取工具条和状态条的指针 18 (23) 如何使能和禁止工具条的工具提示 18 (24) 如何创建一个不规则形状的窗口 19 (25) 如何获取应用程序的 实例句柄? 23 (26) 如何编程结束应用程序? 23 (27) 如何创建和使用无模式对话框 24 (28) 如何防止主框窗口在其说明中显示活动的文档名 26 (29) 如何在代码中获取工具条和状态条的指针 27 (30) 怎样加载其他的应用程序? 27 (31) 如何在代码中获取工具条和状态条的指针 28 (33) 如何设置工具条标题 29 (34) 如何使窗口始终在最前方? 30 (35) 如何在对话框中显示一个位图 30 (36) 如何改变对话或窗体视窗的背景颜色 30 (37) 如何获取一个对话控件的指针 32 (38) 如何禁止和使能控件 33 (39) 如何改变控件的字体 33 (40) 如何在OLE控件中使用OLE_COLOR数据型 35 (41) 在不使用通用文件打开对话的情况下如何显示一个文件列表 35 (42) 为什么旋转按钮控件看起来倒转 36 (43) 为什么旋转按钮控件不能自动地更新它下面的编辑控件 37 (44) 如何用位图显示下压按钮 37 (45) 如何一个创建三态下压按钮 38 (46) 如何动态创建控件 38 (47) 如何限制编辑框中的准许字符 38 (48) 如何改变控件的颜色 40 (49) 当向列表框中添加多个项时如何防止闪烁 43 (50) 如何向编辑控件中添加文本 43 (51) 如何访问预定义的GDI对象 44 (52) 如何获取GDI对象的属性信息 45 (53) 如何实现一个橡皮区矩形 46 (54) 如何更新翻转背景颜色的文本 49 (55) 如何创建一个具有特定点大小的字体 50 (56) 如何计算一个串的大小 51 (57) 如何显示旋转文本 52 (58) 如何正确显示包含标签字符的串 54 (59) 如何快速地格式化一个CString对象 55 (60) 串太长时如何在其末尾显示一个省略号 55 (61) 为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 56 (62) 如何给系统菜单添加一个菜单项 56 (63) 如何确定顶层菜单所占据的菜单行数 58 (64) 在用户环境中如何确定系统显示元素的颜色 59 (65) 如何查询和设置系统参数 59 (66) 如何确定当前屏幕分辨率 60 (67) 如何使用一个预定义的Windows光标 60 (68) 如何检索原先的Task Manager应用程序使用的任务列表 61 (70) 在哪儿创建临文件 63 (71) 我怎样才能建立一个等待光标? 64 (73) 如何访问桌面窗口 65 (74) 什么是COLORREF? 我该怎样用它? 66 (75) AppWizard所产生的STDAFX文件是干什么用的? 66 (76) 我在我的程序中是了CDWordArray。我向它添加了约10,000个整数,这使得它变得非常非常慢。为什么会这么糟? 67 (77) 我该如何改变MDI框架窗口的子窗口的大小以使在窗口以一定的大小打开? 67 (78) 在我的程序的某些部分,我可以调用 MessageBox 函数来建立一个信息对话框,例如在视中。 67 (79) 我需要在我的程序中设置全局变量,以使文档中的所有都能访问。我应该吧它放到哪儿? 68 (80) 我听说MFC可以发现内存漏洞,我怎样使用该特性? 68 (81) 我怎样才能在我的应用程序中循环浏览已经打开的文档? 68 (82)才能在我的应用程序中循环浏览已经打开的视? 68 (83)数PreCreateWindow是干什么用的? 69 (84)该怎样防止MFC在窗口标题栏上把文档名预置成应用程序名? 69 (85) 我应该怎样防止MFC在窗口标题栏上添加文档名? 69 (86)我应该如何改变视窗口的大小? 69 (87)我有一无模式对话框。我怎样才能在窗口退出时删除CDialog对象? 69 (88)为什么把“delete this”放在PostNcDestroy中而不是OnNcDestroy? 69 (89) File菜单中的MRU列表是从哪儿来的?列表中的名字放在哪儿了?我怎样才能改变列表中项目的最大值? 70 (90) 我在菜单中添加了新的项。但是,当我选该项时,在状态栏上没有出现任何提示信息。为什么? 70 (91) 我怎样才能在应用程序的缺省系统菜单中加上一些东西? 70 (92) 我建立了一个对话框。但是当我显示该对话框时,第一个编辑框总是不能获得焦点,我必须单击它来使它获得焦点。我怎样才能使第一个编辑框在对话框打开时就获得焦点? 71 (93) 我怎样才能使一个窗口具有“always on top”特性? 71 (94) 我要为我的form view添加文档模板。我先建立了对话框模板,然后使用ClassWizard建立了基于CFormView的新,它也是从CDocument继承来的。我还建立了相应的资源并在InitInstance中添加了新的文档模板。但是,当我试图运行该程序时,出现了Assertion信息。为什么? 71 (95) 我在一对话框中有一列表框,我需要tabbed列表框中的项目。但是,当我处理含有tab字符(用AddString添加的)的列表项时,tab被显示成小黑块而没有展开。哪儿出错了? 72 (96) 我建立了一个应用程序,并使用了CRecordset。但是,当我运行该程序时,它试图要访问数据库,并给出“Internal Application Error”对话框。我应该怎样? 72 (97) 我用ClassWizard建立了一个。但是,我把名字取错了,我想把它从项目中删除,应该如何? 73 (98) 当我打开应用程序中的窗口时,我要传递该窗口的矩形尺寸。该矩形指定了窗口的外围大小,但是当我调用GetClientRect时,所得到的尺寸要比所希望的值要小(因为工具栏和窗口边框的缘故)。有其它方法来计算窗口的尺寸吗? 73 (99) 我在文档中设置了一个整型变量。但是,当我试图把该变量写入Serialize函数中的archive文件中时,出现了型错误。而文档中的其它变量没有问题。为什么? 73 (100) 如何控制菜单的大小? 74 (101) 改变LVIS_SELECTED的状态颜色? 75 (102) 如何只存储文档的某一部分? 76 (103) 保存工具条菜单有bug吗? 76 (104) Tip of the day的bug 76 (105) 如何可以让我的程序可以显示在其它的窗口上面? 77 (106) 如何控制窗口框架的最大最小尺寸? 79 (107) 如何改变窗口框架的颜色? 81 (108) 如何将应用程序窗口置于屏幕正中? 82 (1)当文档被修改时,如何在标题上加上标志'*'? 82 (2)VC6.0对VC5.0的兼容性? 83 (3)打印和打印机的问题? 83 (4)CRichEditCtrl滚动条的问题? 84 (5)从数据库中读大于32k的内容? 84 (6)如何获得CRichEditCtrl中字符的位置? 86 (7)如何限制mdi子框架最大化时的大小? 86 (8)如何切换视口而不破坏它们? 87 (9)改变列表控制时发生闪烁现象? 91 (10)处理列表控件可见项的问题? 91 (11)产生线程的问题? 91 (12)CFile使用了缓冲区吗? 94 (13)DAO的密码? 94 (15)视口的不活动性如何处理? 96 (16)如何使用COleClientItem的IDispatch接口? 97 (17)关于用户自定义的消息使用? 98 (18)在打开一个文档时退出? 99 (19)在CListCtrl控件中多选择项的删除? 99 (20)工作线程的登录状态? 99 (21)如何增加视图中ActiveX控件的事件处理函数? 101 (22)如何创建一个动态的Tree控件? 102 (23)SDI程序开始时不打开文档? 102 (24)List控件中整栏选择? 103 (25)如何重载MRU文件? 104 (26)CImageList控件中图象橙色被显示为黄色? 106 (27)无法正确改变应用程序的图标? 110 (28)工具条状态的问题? 110 (29)在SDI应用程序中使用Active控件? 112 (30)有RichEdit控件的对话框无法正常显示? 112 (31)DLL中的模板成员函数? 112 (32)CFormView中的上下文帮助? 114 (33)CArchive的WriteObject函数问题? 115 (34)RegisterWindowMessage中的BroadcastSystemMessage如何处理? 115 (35)CListCtrl中选择变化时如何获得通知? 117 (36)如何向ATL-COM对象传送一个数组? 118 (37)如何选择CTreeCtrl中的节点文本进行编辑? 119 (38)如何改变默认的光标形状? 120 (39)如何用键盘滚动分割的视口? 121 (40)如何在线程中处理状态条? 123 (41)如何阻止WINDOWS关闭? 124 (42)如何使一个按钮Disable? 124 (43)怎样从MFC扩展动态链结库(DLL)中显示一个对话框? 125 (44)想隐藏用户界面怎么办? 127 (45)如何实现SDI与MDI的转换? 128 (46) CDC中的竖排文本? 130 (47)如何激活变灰的弹出菜单? 131 (48)线程消息? 132 (49)TreeCtrl控制的显示速度太慢? 133 (50)关于工具条? 135 (51)关于线程消息? 136 (52)关于控件的焦点? 136 (53)如何捕获键盘按键? 138 (54)怎样实现3D效果? 138 (55)怎样建立客户CSocket? 138 (56)Disable一个非模态对话框的客户区? 140 (57)关于使用SetClassLong和SetCapture问题 140 (58)动画控件? 142 (59)错误声明的消息? 143 (59)怎样模拟鼠标动作? 144 (60)改变对话框标题字体? 145 (61)怎样知道CWinThread对象的状态? 146 (62)如何调整控件对话框条的大小? 146 (63)如何顶端显示CStatic文字? 147 (64)消息句柄出了什么事? 147 (65)树形控件为何闪烁? 148 (66)怎样才能关闭树形控件中的滚动条? 149 (67)如何建立一个带滚动条的窗口? 149 (68)如何实现对话框的拖放? 150 (69)TrackMouseEvent()怎么了 151 (70)奇怪的组合框控件 152 (71)关于使用MS SANS SERIF字体 152 (72)为什么DLL在字符串表中找不到字符串 157 (73)关于复选框的文本颜色 158 (74)系列化与版本的问题 159 (75)在一个控件内检测并使用ON_COMMAND消息 162 (76)为何MDI程序中有子窗口打开时主应用程序不能关. 163 (77)滚动视中LPtoDP失败 165 (78)ODBC许可问题 166 (79)怪异的字体 167 (80)自画列表框样例 170 (81)CWnd::GetMenu()的问题 173 (82)用MFC制作弹出窗口 174 (83)怎样取消一个弹出式菜单 175

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧