国产探花免费观看_亚洲丰满少妇自慰呻吟_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->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万盛区| 义乌市| 桃园市| 镇坪县| 天长市| 竹北市| 尼勒克县| 甘南县| 托里县| 长宁区| 石狮市| 贵德县| 洛南县| 保靖县| 桑植县| 新野县| 肃宁县| 资兴市| 图木舒克市| 苏尼特右旗| 行唐县| 沙湾县| 合川市| 麻栗坡县| 宿迁市| 道孚县| 抚顺市| 开江县| 汤原县| 大石桥市| 阳东县| 兰州市| 察隅县| 靖宇县| 抚远县| 甘泉县| 乐陵市| 清苑县| 陆川县| 常州市| 罗江县|