VB与MS-Draw开发通用作图软件
2018-06-17 17:11:47来源:未知 阅读 ()
OLE和DDE,是支持Windows应用之间相互通讯的一种机制。OLE技术通过"对象"集成windows应用程序,它采用图象、图表、数据库、声音、文本等构成复合对象(也称复合文档)。OLE技术是在复合文档中实现链接对象或嵌入对象的一组协议,该技术首先由Aldus公司在1988年提出,后被Microsoft公司引进到Windows中。使用OLE,一个应用程序可以和其他应用程序合作,以产生包含有不同种类对象的复合文档,并且文档中所包含的对象易于被用户操作。
支持OLE调用的Windows软件,在Windows中会有注册登记信息,查看WIN.INI中[embedding]节的内容,可知道Windows中包含哪些可以调用的OLE对象。画笔(PBRUSH.EXE)、统计图(MicrosoftGraph)、对象包装程序(PACKGER.EXE)和录音机(SOUNDREC.EXE)是Windows环境下常用的OLE嵌
入对象。
Windows环境下的大部分开发工具(如C、C 、PASCAL、VisualBasic3.0、CA-Realizer、FoxProforWindows、VisualFoxProforWindows等)大都支持开发具有调用OLE对象能力的应用程序,相比之下,VisualBasic3.0开发OLE调用程序更容易。
Windows环境下采用OLE技术开发应用程序有许多优点:
(1)、提高软件开发效率:通过OLE的嵌入其它WINDOWS应用程序,应用程序员所进行的软件开发工作实际上变成了软件集成(或称"软件组合"),这样就比逐个开发软件功能模块要快得多,应用软件的开发周期大大缩短;
(2)、性能稳定、可靠:由于OLE嵌入对象程序都是经过严格测试过的商品软件,因此,经过"组合"的软件,只要经过对"组合过程"部分进行严格测试(测试的工作量相对来说较小),就能成为性能稳定可靠的高质量软件;
(3)、功能完善:OLE嵌入其它WINDOWS应用程序,不仅"嵌入"了其它应用程序的数据,同时也"嵌入"了其它应用程序的功能。应用软件中能够"嵌入"所有的WINDOWSOLE嵌入对象,例如,你通过Word,Excel,Mail,MicrosoftGraph等建立起一个包含文字处理、电子报表、电子邮件和统计图形的综合性办公自动化系统软件;
(4)、开发人员不再需要是编程专家:VisualBasic3.0中提供了OLE2.0调用功能,大大降低了OLE调用的难度,一般的软件开发人员即可开发出调用WindowsOLE对象的应用程序。
VisualBasicforWindows3.0(以下简称VB)是一个面向Windows的高级开发系统,它采用事件驱动机制、可视化界面设计及集成化的开发、调试、编译环境,VB同时还提供DDE、OLE程序开发功能。VB既适合于初级程序员,又适合于高级程序员编写功能强大的应用软件。
二、通用作图系统的设计
1、在Windows中添加MicrosoftDrawOLE工具:
(1)修改win.ini:
[embedding]
MSDraw=MicrosoftDrawing,MicrosoftDrawing,c:\yzgraph\msdraw.exe,picture
(2)创建MSDRAW.REG:
REGEDIT
HEKY_CLASSES_ROOT\MSDraw=MicrosoftDrawing
HKEY_CLASSES_ROOT\MSDraw\protocol\StdFileEditing\server=c:\yzgraph\msdraw.exe
(3)运行REGEDIT.EXEMSDRAW.REG,屏幕上会出现"c:\yzgraph\msdraw.exe
中的信息已成功地登录在登录数据库中"。
(4)从MicrosoftWord5.0中文版中\windows\msapps\msdraw子目录中拷贝MSDRAW.EXE、MS-DRAW.HLP至c:\yzgraph子目录下。
2、在VB中创建一个FORM1:启动VisualBASIC3.0,选File-NEWProject菜单;
3、在FORM1上创建"存盘""打印""退出"三个按钮对象;
4、在FORM1上创建一个OLE2对象:在Toolbox窗口选OLE2.0控件,移动鼠标至Forml窗口上,按下左鼠标同时移动鼠标光标拖出一个小小的矩形。松开左鼠标,这时,屏幕上会出现"insertobject"对话窗口,选择CreateNew-MicrosoftDrawing-ok,这时MicrosoftDrawing就会启动,退出MicrosoftDrawing;
5、在VisualBasic3.0中增加一个图形存盘及打印控件(mhoutbx.vbx):
mhoutbx.vbx是MicroHelp公司提供的具有图形显示打印功能的通用VBX控件。
在VisualBasic3.0中选File-AddFile菜单,选中mhoutbx.bx;
AutoSize=-1'True
EraseForRead=-1'True
6、在FORM1上创建一个图形存盘及打印的mhoutbx对象(用于MicrosoftDraw的结果存盘、打印输出);
7、使FORM1始终处于"最上层"(即不被其它窗口覆盖):
Global.bas:
GlobalConstSWP_MOVE=2
GlobalConstSWP_NOSIZE=1
GlobalConstFLAGS=SWP_MOVEOrSWP_NOSIZE
GlobalConstHWND_TOPMOST=-1
GlobalConstHWND_NOTOPMOST=-2
DeclareFunctionSetWindowsPosLib"user"(ByValh,ByValhb,ByValX,ByValy,ByValcx,ByValcy,By-Valf)AsInteger
DeclareFunctionGetSystemMetricsLib"user"(ByValnIn-dex)
GlobalConst
NILL=0&
GlobalConstWM_SYSCOMMAND=&H112
GlobalConstWM_LBUTTONDBLCLK=&H203
GlobalConstSC_CLOSE=&HF06O
GlobalConstWM-CLOSE=&H10
GlobalConstWM_GETMINMAXINFO=&H24
DeclareFunctionFindWindowsLib"User"(ByVallpClassNameAsAny,ByVallpWindowsNameAsAny)AsInteger
DeclareFunctionsendmessage&Lib"user"(ByValhWnd,ByValwmsg,ByValwparam,ByValIparamAsLong)AsLong
GlobalConstSW_SHOWMAXIMIZED=3
DeclareFunctionShowWindowsLib"User"(ByValhWndAsInteger,ByValnCmdShowAsInteger)AsInteger
8、激活MSDraw,并使其最大化:
SubForm_Load()
Dimrc,msdraw_h,Ipclass$,lpcaption$
form1,Width=Pane13D1.Width
rc=SetWindowPos(form1.hWnd,HWND
_TOPMOST,0,0,0,0,Flags)
rc=sendmessage(form1,OLE1.hWnd,WM
_LBUTTONDBLCLK,0,NILL)
AppActivate"MicrosoftDraw-绘图"
SendKeys"F",True
SendKeys"{LEFT}X",True
form1.Show
EndSub
9、图形存盘:
SubPanel3D1_Click()
a$="c:\test.wmf"
AppActivate"MicrosoftDraw-绘图"
SendKeys"FU",True
FORM1.MhOutbox1.MetaFileName=a$
FORM1.MhOutbox1.SaveMetaFile=True
EndSub
10、图形打印:
SubPanel3D2_Click()
AppActivate"MicrosoftDraw-绘图"
SendKeys"FU",True
MhOutboxl.OutContext=1
MhOutbox.EndPage=True
EndSub
11、退出:
SubPanel3D3_Click()
Unloadform1
End
EndSub->
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 快速开发多媒体Web 2018-06-17
- 用VisualBasic开发绿色软件的探讨 2018-06-17
- 用VB开发CAI软件的小经验 2018-06-17
- 关于VisualBasic6.0类开发(下) 2018-06-17
- VB开发通讯软件 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash