如何创建打印屏幕图象的COM DLL

翻译|其它|编辑:郝浩|2004-07-12 14:24:00.000|阅读 1759 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

如何创建打印屏幕图象的COM DLL


概述
本文用示例演示了, 通常 Component Object Model (COM) DLL 可以容易地在 Microsoft Visual FoxPro 6.0 中创建. 本文中包含的程序代码允许用户创建一个有用的简单的示例 COM DLL.

更多信息
为了使示例的使用, 主计算机必须适当地安装了 Microsoft Office for Windows 95 (或以上版本). COM DLL 提供以下功能:

捕捉打开且活动的屏幕图象.

创建一个 Microsoft Word 的 OLE 实例, 用于捕捉和打印屏幕图象.

捕捉的屏幕图象粘贴到 Microsoft Word 文档中.

Microsoft Word 文档打印到计算机的默认打印机上.

要创建一个描述的示例 COM DLL , 按以下步骤:

在 Microsoft Visual FoxPro 6.0 中, 创建一个叫做 olepscrn 的新项目.

添加一个新的程序到 olepscrn 项目中, 并输入以下代码:

*!* 示例程序代码开始:
DEFINE CLASS p_screen AS CUSTOM OLEPUBLIC
Name = "p_screen"
ScreenPrinted = .F.
oWordObj = ""
PROCEDURE ScreenCapture
This.ReleaseWord()
This.ScreenPrinted = .T.
DECLARE INTEGER keybd_event IN Win32API ;
INTEGER, INTEGER, INTEGER, INTEGER
VK_SNAPSHOT = 44
=keybd_event(VK_SNAPSHOT, 1, 0, 0)
This.oWordObj=CREATEOBJECT("Word.Application")
This.oWordObj.Documents.Add
This.oWordObj.ActiveDocument.PageSetup.Orientation = 1
WITH This.oWordObj.WordBasic
.EditPaste
.FilePrint
.FileClose(2)
ENDWITH
RELEASE keybd_event, vk_snapshot
ENDPROC
PROCEDURE ReleaseWord
IF This.ScreenPrinted
This.oWordObj.Quit
This.oWordObj = ""
This.ScreenPrinted = .F.
ENDIF
ENDPROC
PROCEDURE Destroy
This.ReleaseWord()
ENDPROC
ENDDEFINE
*!* 示例程序代码结束:

保存程序为 p_screen.

在项目管理器中, 选择联编按钮, 并在 Visual FoxPro 6.0 + SP3 中选择单线程 COM server (DLL), 或在 Visual FoxPro 6.0 中选择联编 COM DLL.

从命令窗口中, 可以输入以下三个命令来使用该 DLL:

该命令创建一个 DLL 对象引用并载入它到内存中:
oPScreen = CREATEOBJECT("olepscrn.p_screen")

该命令执行打印屏幕:
oPScreen.ScreenCapture()

第三个命令也就是最后一个命令从内存中移去 DLL. 当项目释放后, 已创建的 Microsoft Word 的实例也被释放:

RELEASE oPScreen


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP