黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > VB > 復習資料 > 正文

計算機等級考試二級VB:VB中實現菜單分割

來源:考試吧Exam8.com) 2010-8-19 16:33:59 考試吧:中國教育培訓第一門戶 模擬考場
計算機等級考試二級VB:VB中實現菜單分割。

  在VB中要實現這一功能還是比較方便的,下面舉例說明。

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

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

  Option Explicit

  ′菜單信息結構說明

  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函數和常數

  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&

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

  Private Sub Command1_Click()

  Dim rv As Long

  Dim hSubMenu As Long

  Dim mnuItemCount As Long

  Dim mInfo As MENUITEMINFO

  Dim pad As Long

  '獲取菜單項句柄和子菜單項數

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

  mnuItemCount=GetMenuItemCount(hSubMenu)

  '將子菜單項分成兩部分

  If mnuItemCount Mod 2<>0 Then pad=1

  '取得當前菜單信息

  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

  運行后按命令按鈕,將發現子菜單項分成了兩部分,左邊五項,右邊四項。

  程序運行環境:中文WIN95,VB 5.0。

  相關推薦:2010年9月計算機等級考試精華備考資料匯總
       2010年計算機等級考試二級公共基礎知識教程
       考試吧:2010年計算機等考二級VB預測題匯總
       2010年全國計算機等級考試全攻略(一至四級)
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 色一把| yy4080午夜理论一级毛片 | 中文字幕va| 欧美成人亚洲综合精品欧美激情 | 国产大片黄在线看免费 | 日本午夜免费福利视频 | a在线视频 | 亚洲欧美日韩中文综合在线不卡 | 国内成人免费视频 | 黄色网址免费 | 日韩亚洲国产综合久久久 | 国产精品精品国产 | 欧美a站| 狠狠干狠狠操视频 | 黄色免费网站观看 | 欧美福利网址 | 草草在线视频 | 在线中文字幕视频 | 美女图片在线视频精品播放 | 国产精品亚洲片在线观看麻豆 | 中国孕妇孕交xxx | 日韩国产成人 | 日本韩国一区二区三区 | 高清在线亚洲精品国产二区 | 伊人国产在线播放 | 亚洲福利 影院 | 国内精品小视频在线 | 日本午夜三级 | 欧美国产日韩在线 | 在线你懂得 | 成人软件网18免费视频 | 国产免费三a在线 | 大学生高清一级毛片免费 | 黄网站在线观看高清免费 | 久久人人爽人人爽人人 | 六月综合网 | 欧美高清国产在线观看 | 色播在线永久免费视频网站 | 亚洲一级毛片在线观 | 欧美一区二区三区高清视频 | 伦理片在线观看网站资源 |