首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱(chēng)英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專(zhuān)四專(zhuān)八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱(chēng)日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱(chēng)計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢(xún)師考試 | 秘書(shū)資格 | 心理咨詢(xún)師考試 | 出版專(zhuān)業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱(chēng) | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢(xún)工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

計(jì)算機(jī)等級(jí)考試二級(jí)VB:VB中實(shí)現(xiàn)菜單分割

計(jì)算機(jī)等級(jí)考試二級(jí)VB:VB中實(shí)現(xiàn)菜單分割。

  在VB中要實(shí)現(xiàn)這一功能還是比較方便的,下面舉例說(shuō)明。

  實(shí)現(xiàn)菜單分割這一功能需要使用API函數(shù),思路是:首先獲得菜單句柄,從而可得到其子菜單項(xiàng)數(shù),然后將子菜單項(xiàng)數(shù)除以2,若子菜單項(xiàng)數(shù)為奇數(shù),則將多余的一項(xiàng)劃到第一部分,然后利用API函數(shù)SetMenuItemInfo重新設(shè)定菜單顯示形式即可。

  下面是一個(gè)例子。首先用菜單生成器制做一個(gè)包括9個(gè)子菜單項(xiàng)的菜單,然后,在總體聲明部分聲明用到的API函數(shù)和常數(shù),這些可以從API說(shuō)明文件中復(fù)制。

  Option Explicit

  ′菜單信息結(jié)構(gòu)說(shuō)明

  Private Type MENUITEMINFO

  cbSize As Long

  fMask As Long

  fType As Long

  fState As Long

  wID As Long

  hSubMenu As Long

  hbmpChecked As Long

  hbmpUnchecked As Long

  dwItemData As Long

  dwTypeData As String

  cch As Long

  End Type

  '所需的API函數(shù)和常數(shù)

  Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

  Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) _

  As Long

  Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, _

  ByVal nPos As Long) As Long

  Private Declare Function GetMenuItemInfo Lib "user32" Alias _

  "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, _

  ByVal b As Boolean, lpmii As MENUITEMINFO) As Long

  Private Declare Function SetMenuItemInfo Lib "user32" Alias _

  "SetMenuItemInfoA" (ByVal hMenu As Long, ByVal uItem As Long, _

  ByVal fByPosition As Long, lpmii As MENUITEMINFO) As Long

  Const MIIM_TYPE = &H10

  Const RGB_STARTNEWCOLUMNWITHVERTBAR = &H20&

  Const MFT_STRING = &H0&

  在窗體中添加一個(gè)命令按鈕,Caption=“分割菜單”,雙擊寫(xiě)如下代碼:

  Private Sub Command1_Click()

  Dim rv As Long

  Dim hSubMenu As Long

  Dim mnuItemCount As Long

  Dim mInfo As MENUITEMINFO

  Dim pad As Long

  '獲取菜單項(xiàng)句柄和子菜單項(xiàng)數(shù)

  hSubMenu=GetSubMenu(GetMenu(Me.hwnd), 0)

  mnuItemCount=GetMenuItemCount(hSubMenu)

  '將子菜單項(xiàng)分成兩部分

  If mnuItemCount Mod 2<>0 Then pad=1

  '取得當(dāng)前菜單信息

  mInfo.cbSize=Len(mInfo)

  mInfo.fMask=MIIM_TYPE

  mInfo.fType=MFT_STRING

  mInfo.dwTypeData=Space$(256)

  mInfo.cch=Len(mInfo.dwTypeData)

  rv=GetMenuItemInfo(hSubMenu, (mnuItemCount\2)+pad, True, mInfo)

  '按新格式顯示菜單

  mInfo.fType=RGB_STARTNEWCOLUMNWITHVERTBAR

  mInfo.fMask=MIIM_TYPE

  rv=SetMenuItemInfo(hSubMenu, (mnuItemCount\2)+pad, True, mInfo)

  If rv Then MsgBox "分割完畢"

  End Sub

  運(yùn)行后按命令按鈕,將發(fā)現(xiàn)子菜單項(xiàng)分成了兩部分,左邊五項(xiàng),右邊四項(xiàng)。

  程序運(yùn)行環(huán)境:中文WIN95,VB 5.0。

  相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試精華備考資料匯總
       2010年計(jì)算機(jī)等級(jí)考試二級(jí)公共基礎(chǔ)知識(shí)教程
       考試吧:2010年計(jì)算機(jī)等考二級(jí)VB預(yù)測(cè)題匯總
       2010年全國(guó)計(jì)算機(jī)等級(jí)考試全攻略(一至四級(jí))
文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。