国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用VisualBasic與MS-Draw開發通用作圖軟件

2019-11-18 17:29:56
字體:
來源:轉載
供稿:網友
一、OLE技術介紹

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、FoxWord,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,ByValMhOutboxl.OutContext=1
MhOutbox.EndPage=True
EndSub
11、退出:
SubPanel3D3_Click()
Unloadform1
End
EndSub->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彩票| 长春市| 苍山县| 锡林郭勒盟| 盐津县| 漾濞| 新竹市| 咸阳市| 家居| 华容县| 隆尧县| 麻江县| 邻水| 个旧市| 富顺县| 商水县| 泰和县| 桐梓县| 泸州市| 东乡| 孝感市| 马尔康县| 松桃| 龙海市| 神农架林区| 张家界市| 汨罗市| 和政县| 黑龙江省| 德阳市| 建阳市| 静宁县| 湖南省| 普兰县| 抚顺县| 潮州市| 纳雍县| 新蔡县| 瓦房店市| 福海县| 惠水县|