亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 151.txt

?? 介紹VB里的各種控件的使用方法,窗口控制,圖像編程以及OCX等內容,還提供了一個API集供參考.
?? TXT
字號:
顯示窗口的水平和垂直滾動條


由于在外讀書,上網都是在網吧,所以回答問題,通常都是三言二語,沒有說清楚,不過這一篇可是在寢室的電腦上完成的,當然還有上次回答天水的那篇.我學VB的時候,根本沒有交流,那種困難不言而喻.現在能與大家一起談論VB,是我當初所不敢想象的.好了,言歸正傳,切入今天的話題----顯示窗口的水平和垂直滾動條:
在Delphi中,它的TFORM類可以自動顯示水平和垂直滾動條,這不能不讓我們這些VB Fan們有些嫉妒,為了實現這個功能,我們不得不自已動手了.
首先從窗口談起,窗口有許多風格,到API瀏覽器中可以看到許多以WS_或WS_EX_開頭的常量,都是用來指定風格的.要實現水平和垂直滾動條就要修改窗口風格,同時還要響應來自滾動條的消息,才能實現其功能.其實我并不認為直接使用窗口自帶的滾動條是一個好方法,使用滾動條控件要靈活的多,你可以在窗口中放入任意多的滾動條控件,但窗口自帶的就只能有一個.但使用自帶滾動條也有其優點,比如其位置不要用額外的代碼進行調整,其它好像就沒有了.
在使用方面來說,主要的難點在于其消息的響應,尤其對初學者來說,因為要構造一個子類窗口.其他的min,max值的設置,滾動框的位置的設定,都有對應的API函數來實現.
程序實現:
先在窗口上放兩個Lable,兩個Botton.

'1.窗口風格的設置
'在窗口聲明部分加入
Dim HVisible as Boolean,VVisible as Boolean

Private Sub Form_Load()
Dim OldStyle As Long
Dim hsWidth As Integer
'保存舊風格
OldStyle = SetWindowLong(hWnd, GWL_STYLE, 0)
'設置新風格
Call SetWindowLong(hWnd, GWL_STYLE, OldStyle Or WS_VSCROLL Or WS_HSCROLL)
Command1.Caption = "隱藏垂直滾動條"
Command2.Caption = "隱藏水平滾動條"
Label1 = "垂直滾動條的值"
Label2 = "水平滾動條的值"
'得到水平滾動條的寬度
hsWidth = GetSystemMetrics(SM_CXVHSCROLL)
'改變窗口寬度與高度
Width = Width + hsWidth
Height = Height + hsHeight
VVisible = True
HVisible = True
'怎么樣,滾動條顯示出來了沒有?沒有?那么是我眼花了?@_@

'2.滾動范圍的設置
yMin = 0: yMax = 100
xMin = 0: xMax = 100
SetScrollRange hWnd, SB_HORZ, xMin, xMax, True
SetScrollRange hWnd, SB_VERT, yMin, yMax, True
'建立子類窗口
SubClass Me
End Sub'End Of Form_Load

'3.滾動條的顯示與隱藏
Private Sub Command1_Click()
If VVisible Then
Command1.Caption = "顯示垂直滾動條"
ShowScrollBar hWnd, SB_VERT, False
VVisible = False
Else
Command1.Caption = "隱藏垂直滾動條"
ShowScrollBar hWnd, SB_VERT, True
VVisible = True
End If
End Sub

'4.子類窗口的撤消
Private Sub Form_Unload(Cancel As Integer)
UnSubClass Me
End Sub

'從1.窗口風格的設置直到此處都可以直接COPY到窗口代碼中

'5.消息響應機制
'添加一個公共模塊,在模塊中加入以下代碼和聲明
Public Const SM_CXHSCROLL = 21
Public Const GWL_STYLE = (-16)
Public Const WS_HSCROLL = &H100000
Public Const WS_VSCROLL = &H200000
Public Const SB_BOTH = 3
Public Const SB_HORZ = 0
Public Const SB_VERT = 1
'以下以SB_開頭的是用戶的滾動請求
Public Const SB_LINEDOWN = 1
Public Const SB_LINELEFT = 0
Public Const SB_LINERIGHT = 1
Public Const SB_LINEUP = 0
Public Const SB_PAGERIGHT = 3
Public Const SB_PAGELEFT = 2
Public Const SB_PAGEDOWN = 3
Public Const SB_PAGEUP = 2
Public Const SB_ENDSCROLL = 8
Public Const SB_THUMBPOSITION = 4
Public Const SB_THUMBTRACK = 5
Public Const GWL_WNDPROC = (-4)
Public Const WM_HSCROLL = &H114
Public Const WM_VSCROLL = &H115
Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Declare Function ShowScrollBar Lib "user32" (ByVal hWnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long
Declare Function SetScrollPos Lib "user32" (ByVal hWnd As Long, ByVal nBar As Long, ByVal nPos As Long, ByVal bRedraw As Long) As Long
Declare Function SetScrollRange Lib "user32" (ByVal hWnd As Long, ByVal nBar As Long, ByVal nMinPos As Long, ByVal nMaxPos As Long, ByVal bRedraw As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public preWndProc As Long
Public xMin As Integer, xMax As Integer
Public yMin As Integer, yMax As Integer
Public xPos As Integer, yPos As Integer

Public Function WindowProc(ByVal hWnd As Long, ByVal uMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
On Error Resume Next
Dim xInc As Integer, yInc As Integer
Select Case uMsg
Case WM_VSCROLL'垂直滾動條消息
Select Case LoWord(wParam)
Case SB_LINEUP, SB_LINEDOWN
If LoWord(wParam) Then
yInc = 1
Else
yInc = -1
End If
Case SB_PAGEUP, SB_PAGEDOWN
If LoWord(wParam) = SB_PAGEUP Then
yInc = -10
Else
yInc = 10
End If

Case SB_THUMBTRACK
yInc = HiWord(wParam) - yPos
End Select
yPos = yPos + yInc
If yPos < yMin Then yPos = yMin
If yPos > yMax Then yPos = yMax
SetScrollPos hWnd, SB_VERT, yPos, True
Form1.Label1 = yPos
Case WM_HSCROLL'垂直水平條消息
Select Case LoWord(wParam)
Case SB_LINELEFT, SB_LINERIGHT
If LoWord(wParam) Then
xInc = 1
Else
xInc = -1
End If
Case SB_PAGELEFT, SB_PAGERIGHT
If LoWord(wParam) = SB_PAGELEFT Then
xInc = -10
Else
xInc = 10
End If
Case SB_THUMBTRACK
xInc = HiWord(wParam) - xPos
End Select
xPos = xPos + xInc
If xPos < xMin Then xPos = xMin
If xPos > xMax Then xPos = xMax
SetScrollPos hWnd, SB_HORZ, xPos, True
Form1.Label2 = xPos
End Select
WindowProc = CallWindowProc(preWndProc, hWnd, uMsg, wParam, lParam)
End Function
Public Sub SubClass(frm As Form)
preWndProc = SetWindowLong(frm.hWnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub
Public Sub UnSubClass(frm As Form)
Call SetWindowLong(frm.hWnd, GWL_WNDPROC, preWndProc)
End Sub
'The function below is much useful in API development.
Private Function LoWord(num As Long) As Integer
LoWord = num Mod &H10000
End Function
Private Function HiWord(num As Long) As Integer
HiWord = (num And &HFFFF0000) / &H10000
End Function
說明:
此程序調試比較困難,應注意不要用VB工具欄中的"結束"按鈕來結束該程序,只能通過窗口上的"關閉"按鈕,而且在程序中不能出錯,否則VB就當掉了. 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
经典三级一区二区| 亚洲综合av网| ●精品国产综合乱码久久久久 | 日韩中文字幕1| 精品一区二区国语对白| 不卡大黄网站免费看| 欧美日韩激情在线| 久久久不卡网国产精品一区| 亚洲激情自拍偷拍| 老汉av免费一区二区三区| 成人午夜激情视频| 欧美人与性动xxxx| 欧美国产日韩在线观看| 视频一区在线视频| 成人看片黄a免费看在线| 欧美三级在线视频| 久久久精品天堂| 午夜亚洲福利老司机| 国产sm精品调教视频网站| 欧美午夜免费电影| 2021中文字幕一区亚洲| 一区二区三区四区乱视频| 黄色资源网久久资源365| 91网站最新地址| 久久久久久久免费视频了| 亚洲午夜久久久久久久久久久| 国产精品一区在线观看你懂的| 欧美午夜不卡视频| 自拍视频在线观看一区二区| 麻豆成人久久精品二区三区红| 97久久精品人人爽人人爽蜜臀 | 国产乱色国产精品免费视频| 欧美在线免费播放| 国产欧美日产一区| 国内精品嫩模私拍在线| 欧美妇女性影城| 亚洲美女少妇撒尿| 成人午夜伦理影院| 26uuuu精品一区二区| 视频一区二区三区在线| 色菇凉天天综合网| 中文字幕av资源一区| 激情文学综合丁香| 欧美一区日本一区韩国一区| 亚洲精品成人精品456| 成人亚洲一区二区一| 欧美精品一区二区在线播放 | 欧美日韩色综合| 亚洲欧美激情视频在线观看一区二区三区 | 丰满放荡岳乱妇91ww| 精品福利一区二区三区| 男女男精品视频网| 欧美日本免费一区二区三区| 亚洲一二三区在线观看| 色妹子一区二区| 日韩理论电影院| aa级大片欧美| 一区精品在线播放| 成人午夜激情影院| 国产嫩草影院久久久久| 国产成人在线视频免费播放| xvideos.蜜桃一区二区| 久久不见久久见免费视频7| 欧美一区二区观看视频| 日本色综合中文字幕| 7799精品视频| 免费在线观看日韩欧美| 欧美精品精品一区| 日韩制服丝袜先锋影音| 欧美日韩欧美一区二区| 五月综合激情日本mⅴ| 欧美久久一区二区| 日韩av电影一区| 日韩欧美综合在线| 九色|91porny| 久久综合狠狠综合久久激情 | 国产亚洲精品精华液| 激情综合色播激情啊| 久久久久久久久久久久电影| 国产精品夜夜嗨| 国产欧美一区二区精品久导航| 成人午夜免费av| 亚洲精品视频观看| 欧美日韩午夜精品| 免费成人在线网站| 精品福利视频一区二区三区| 国产成人免费视频一区| 一区二区中文字幕在线| 欧美色图第一页| 日韩国产精品91| 欧美精品一区二区高清在线观看| 紧缚捆绑精品一区二区| 中文字幕av在线一区二区三区| 91小宝寻花一区二区三区| 亚洲国产aⅴ成人精品无吗| 日韩一区二区三区av| 国产精品自拍在线| 自拍偷拍欧美激情| 欧美日韩国产欧美日美国产精品| 日本美女一区二区| 久久久91精品国产一区二区三区| 国产福利精品一区| 亚洲欧美另类在线| 91精品国产福利在线观看 | 国产精品免费网站在线观看| 91福利在线免费观看| 日本成人在线电影网| 国产人成亚洲第一网站在线播放| 色综合久久九月婷婷色综合| 婷婷丁香激情综合| 中文字幕成人在线观看| 欧美视频在线观看一区| 激情图片小说一区| 伊人婷婷欧美激情| 精品国产乱码久久久久久浪潮 | 日韩伦理电影网| 91精品中文字幕一区二区三区| 国产大陆精品国产| 亚洲第一福利视频在线| 久久综合久久鬼色| 欧美视频精品在线观看| 国产乱人伦偷精品视频不卡| 一区二区三区**美女毛片| 欧美成人在线直播| 色呦呦国产精品| 国产最新精品免费| 亚洲资源中文字幕| 久久久精品免费免费| 欧美日韩免费电影| 国产精品一区二区在线观看不卡| 亚洲一区二区三区四区在线观看| 欧美精品一区二区三区很污很色的 | 日韩欧美一级在线播放| av在线播放不卡| 久久成人av少妇免费| 亚洲制服丝袜av| 欧美—级在线免费片| 欧美一区二区播放| 欧美在线观看你懂的| 成人国产免费视频| 国产在线国偷精品产拍免费yy| 亚洲韩国一区二区三区| 1区2区3区精品视频| 国产视频一区二区三区在线观看| 欧美一区二区在线看| 色婷婷精品久久二区二区蜜臂av| 国产一区二区三区国产| 三级不卡在线观看| 一区二区在线观看不卡| 日本一区二区动态图| 亚洲精品一线二线三线| 91精品国产综合久久久久久久久久| 91美女在线观看| 成人午夜大片免费观看| 久久国产三级精品| 亚欧色一区w666天堂| 亚洲啪啪综合av一区二区三区| 国产精品网站在线| 久久综合狠狠综合久久综合88 | 国产精品中文欧美| 日韩精品欧美成人高清一区二区| 有坂深雪av一区二区精品| 亚洲欧洲日韩女同| 中文字幕av资源一区| 国产日产精品1区| 久久综合九色综合欧美98| 精品欧美一区二区三区精品久久 | 日韩av一级电影| 亚洲成人免费在线观看| 一区二区视频免费在线观看| 亚洲视频一区在线| 亚洲人成网站精品片在线观看| 国产精品国产三级国产aⅴ无密码| 国产午夜精品一区二区三区嫩草| 欧美精品一区二区三区蜜臀| 欧美精品一区二区三区在线| 精品第一国产综合精品aⅴ| 日韩精品在线一区| 日韩欧美国产系列| 日韩三级.com| 精品少妇一区二区三区免费观看 | 国产精品99久久久久久久女警| 日韩成人一级片| 日韩经典一区二区| 日本sm残虐另类| 久久精品99久久久| 国产原创一区二区| 国产精品一级片| 91麻豆国产福利在线观看| 91免费看`日韩一区二区| 91丨国产丨九色丨pron| 91国产丝袜在线播放| 欧美丝袜第三区| 欧美电影在哪看比较好| 日韩色视频在线观看| 亚洲精品一区二区三区蜜桃下载 | 成人精品亚洲人成在线| 99久久精品免费看国产免费软件| 91视频免费播放| 欧美日韩三级视频|