麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

使用API在VB中創建狀態欄

2019-11-18 17:54:19
字體:
來源:轉載
供稿:網友

VB中你想創建一個簡單的狀態欄也用上那個幾MB的OCX嗎?有沒有方法可以不用呢,下面就是以API來創建
一個狀態欄,VB讓初學朋友學得很方便,但對你對VB有所了解的時候,卻發現VB原來就是雞肋......

先創建一個窗體,在窗體里添加兩個Button,然后寫下以下代碼:

'-----------------------------------------------
'
'CreateStatusBarDemo
'
'codebyloveboom[DFCG][FCG][US]
'email:loveboom#163.com
'DimhWndBarAsLong;狀態欄句柄
PrivateConstWS_VISIBLEAsLong=&H10000000
PrivateConstWM_USERAsLong=&H400
PrivateConstSB_SETPARTSAsLong=(WM_USER 4)'這兩個常數在VB自帶的api查詢器里沒有,需要手工添加
PrivateConstSB_SETTEXTAAsLong=(WM_USER 1)
PrivateDeclareFunctionCreateStatusWindowLib"comctl32.dll"(ByValstyleAsLong,ByVallpszTextAsString,ByValhwndParentAsLong,ByValwIDAsLong)AsLong
PrivateDeclareFunctionSendMessageLib"user32.dll"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,ByReflParamAsAny)AsLong
PrivateDeclareFunctionMoveWindowLib"user32.dll"(ByValhwndAsLong,ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValbRepaintAsLong)AsLong

'--------------------------------------------------
'
'創建狀態欄
'函數說明:
'ParenthWnd  狀態欄所屬的句柄
'IDC_STATBAR狀態欄的ID號,用于對狀態欄的單擊之類的操作
'hBarWin函數返回狀態欄的句柄
'szText要顯示的信息
'
'---------------------------------------------------
FunctionCreateStatBar(ParenthWndAsLong,IDC_STATBARAsLong,hBarWinAsLong,OptionalszTextAsString="Demo")AsBoolean
DimretAsLong'返回值
Dimbar(0To1)AsLong'分欄的各項位置
DimszbarAsLong'分欄的數目

'-------------------------------------------------------
'定義數組
bar(0)=235'第一欄寬度為245
bar(1)=-1'-1表示后面的分為一欄

'-------------------------------------------------------

ret=CreateStatusWindow(WS_CHILDOrWS_VISIBLE,ByValszText,ParenthWnd,IDC_STATBAR)'創建狀態欄
szbar=2
Ifret=0Then'如果創建失敗則退出過程
CreateStatBar=False
ExitFunction
EndIf
hBarWin=ret'返回狀態欄的句柄
Ifszbar>1Then'因為默認就是分一欄所以,這里判斷為大于1就是分欄
SendMessagehBarWin,SB_SETPARTS,szbar,bar(0)'分欄
EndIf
CreateStatBar=True'創建成功返回真值
EndFunction

'----------------------------
'移動狀態欄
'----------------------------
SubMoveStatWindow(hBarAsLong)
IfhBarThen'如果狀態欄句柄不為0則移動
CallMoveWindow(hBar,0,0,0,0,True)
EndIf
EndSub

'------------------------------
'在指定欄上顯示信息
'hBar為狀態欄的句柄
'szbar指定要在哪一欄顯示信息,從0開始計,也就是說,如果分兩欄,我們要在第二欄里顯示信息,szbar就設置為1
'szText要顯示的信息
'-------------------------------
SubSetBarText(hBarAsLong,szbarAsLong,strTextAsString)
SendMessagehBar,SB_SETTEXTA,szbar,ByValstrText
EndSub

這樣狀態欄就基本可行了,當然,你還可以用SetWindowLong來處理狀態欄信息.
程序在Win2003vb6sp6下測試通過

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 最近日本电影hd免费观看 | av在线播放观看 | 免费毛片免费看 | 久久亚洲成人 | 羞羞的视频免费在线观看 | 久久精品黄| 日本免费一区二区三区四区 | 国产福利不卡一区二区三区 | 精品亚洲va在线va天堂资源站 | 久色成人网 | 久久国产精品久久久久久 | 精品国产一区二区三区免费 | 9999免费视频| 99成人精品视频 | 日韩在线播放第一页 | 精品一区二区免费视频视频 | 私库av在线免费观看 | 欧美成在线视频 | 少妇的肉体的满足毛片 | 日本a在线观看 | 99精品视频在线免费观看 | 久久91精品国产91久久yfo | 91色一区二区三区 | 国产自在自线午夜精品视频在 | 精品亚洲va在线va天堂资源站 | 黄色二区三区 | 嫩草影院在线观看网站成人 | 国产欧美精品一区二区三区四区 | 欧美国产日韩在线 | 免费在线中文字幕 | 精品国产高清一区二区三区 | fc2成人免费人成在线观看播放 | 国产无限资源在线观看 | 久久久成人精品视频 | 久久精品99国产国产精 | lutube成人福利在线观看 | 欧美一区二区三区久久精品视 | 久久精品视频69 | 91久久国产综合久久91精品网站 | 午夜人体 | 一区国产视频 |