利用ini文件給程序創(chuàng)建動態(tài)菜單

利用ini文件給程序創(chuàng)建動態(tài)菜單

ID:6552075

大?。?5.50 KB

頁數(shù):3頁

時(shí)間:2018-01-17

利用ini文件給程序創(chuàng)建動態(tài)菜單_第1頁
利用ini文件給程序創(chuàng)建動態(tài)菜單_第2頁
利用ini文件給程序創(chuàng)建動態(tài)菜單_第3頁
資源描述:

《利用ini文件給程序創(chuàng)建動態(tài)菜單》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、利用INI文件給程序創(chuàng)建動態(tài)菜單DPG:xinhaifu提供加入時(shí)間:2002年8月23日顯示次數(shù):536象Word那樣,在“文件”菜單中可以找到我們最近打開或編輯過的文件。這是程序在運(yùn)行時(shí)創(chuàng)建了動態(tài)菜單的緣故。VB程序?qū)崿F(xiàn)此功能有很多文章探討過,但大都著眼于Windows的注冊表。我們的注冊表早已發(fā)福了,有沒有辦法不讓她再增加負(fù)擔(dān)?用INI文件!INI文件是系統(tǒng)、應(yīng)用程序的配置文件。它可以使得我們的VB程序更具靈活性,充分地利用它自然也能夠?qū)崿F(xiàn)動態(tài)菜單的創(chuàng)建。下面給個例子。首先,我們得給程序添加一個模塊,在模塊中申明讀寫

2、INI用的兩個WindowsAPI函數(shù),并在其中封裝自定義的讀取、寫入INI的函數(shù):OptionExplicit'讀寫INI的API函數(shù)PublicDeclareFunctionWritePrivateProfileStringLib"kernel32"Alias"WritePrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVallpStringAsAny,ByVallpFileNameAsString)AsLongPub

3、licDeclareFunctionGetPrivateProfileStringLib"kernel32"Alias"GetPrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLong'自定義寫入INI函數(shù)PublicFunctionWr

4、iteIni(ByValsectionAsString,ByValkeyAsString,ByValvalueAsString)AsBooleanDimxAsLong,BuffAsString*128,IAsIntegerBuff=value+Chr(0)x=WritePrivateProfileString(section,key,Buff,App.Path+"MenuSetting.ini")WriteIni=xEndFunction'自定義讀取INI函數(shù)PublicFunctionReadIni(ByValsect

5、ionAsString,ByValkeyAsString)AsStringDimxAsLong,BuffAsString*128,IAsIntegerx=GetPrivateProfileString(section,key,"",Buff,128,App.Path+"MenuSetting.ini")I=InStr(Buff,Chr(0))ReadIni=Trim(Left(Buff,I-1))EndFunction接著,回到主窗體,給主窗體添加若干控件、編輯菜單(控件和菜單名稱詳見代碼),其中,“文件”菜單的動態(tài)菜單

6、要用數(shù)組,其Index號可以從1開始,注意將這些動態(tài)菜單設(shè)為不可見。本例可保存最近打開的三個文件,如需要多一些可自行添加。以下是主窗體代碼:OptionExplicit'聲明用于判斷寫入INI中的FileName(n)中的n變量DimIAsString'為了能添在FileName串的后面,聲明為StringPrivateSubForm_Load()I=0'初值Text1.Left=0Text1.Top=0Text1=""Text1.FontSize=12Me.Caption="txtEditor"Me.Width=8000

7、Me.Height=6000AddMenu'添加動態(tài)菜單EndSubPrivateSubForm_Resize()'這個沒什么可說,為了使例程完整而已Text1.Width=Me.ScaleWidthText1.Height=Me.ScaleHeightEndSubPrivateSubmnuExit_Click()End'退出EndSub'打開文件PrivateSubmnuOpen_Click()DimsFAsStringCommonDialog1.Filter="文檔文件(*.txt)

8、*.txt

9、所有文件(*.*)

10、*

11、.*"CommonDialog1.ShowOpenOpenCommonDialog1.FileNameForInputAs#1Text1.Text=StrConv(InputB$(LOF(1),1),vbUnicode)Close#1IfI>=3ThenI=0'如大于等于3則返回原值I=I+1sF="F

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。