国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

SendMessage函數巧應用

2019-11-18 17:44:02
字體:
來源:轉載
供稿:網友
在這一期的SendMessage函數應用中,我將向大家介紹如何利用消息函數來擴展樹型列表(TreeView)控件的功能相信對于樹型列表控件大家十分的熟悉,典型的應用就是Windows資源管理器中的目錄列表。在VB中,樹型列表控件包含在MicrosoftWindowsCommonControl6.0(也可能是5.0,視你的VB或者系統版本而定)中。在WindowsAPI中,有一系列的以TVM_開頭的消息值,這些消息就是擴展樹型列表控件所特定的消息值,下面向大家介紹其中的一些應用。
1、設置樹型列表控件的背景顏色
首先做如下的定義:
調用:
CallSendMessage(TreeView1.hwnd,TVM-SETITEMHEIGHT,60,0)
上面的代碼將TreeView1的標題行高度設置到60像素高
3、為樹型列表控件中不同的標題行設置不同的提示
在第一期的ListBox控件介紹中,我向大家介紹了如何為列表中的每一個標題行設置不同的提示(ToolT
EndSub
PrivateSubTreeView1_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
DimptAAsTPoint
DimtfAsTVHITTESTINFO
DimtvAsTVITEM
DimhStrAsLong
DimhItemAsLong
DimastrAsString*1024
Dimbstr
OnErrorGoToerrLab
`獲得當前光標所在的位置坐標
ptA.x=Int(x/Screen.TwipsPerPixelX)
ptA.y=Int(y/Screen.TwipsPerPixelY)
tf.pt=ptA
tf.flags=TVHT_ONITEMLABEL
`獲得光標所在的Item的句柄
hItem=SendMessageRef(TreeView1.hwnd,TVM_HITTEST,0,tf)
`如果未獲得句柄或者同上一次是同一個Item的句柄則退出
If((hItem<=0)Or(hItem=hItemPrv))ThenExitSub
hItemPrv=hItem
`分配一定的內存空間用以存儲Item的標題
hStr=GlobalAlloc(GMEM-FIXED,1024)
IfhStr>0Then
tv.mask=TVIF_TEXT
`獲取標題文本
tv.HTreeItem=hItem
`Item句柄
tv.pszText=hStr
tv.cchTextMax=1023
`發送TVM_GETITEM獲得標題文本
CallSendMessageRef(TreeView1.hwnd,TVM-GETITEM,0,tv)
`將標題文本拷貝到字符串astr中
CopyMemoryastr,hStr,1024
bstr=Left$(astr,(InStr(astr,Chr(0))-1))
TreeView1.ToolTipText=bstr
`釋放分配的內存空間
GlobalFreehStr
EndIf
ExitSub
errLab:
ResumeNext
EndSub
運行上面的程序,當光標在TreeView1上面移動時,TreeView1的ToolTips就會根據光標所在的不同標題行而變動。
以上程序在Win98、Win2000,VB6下運行通過->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扬州市| 肥乡县| 大庆市| 崇文区| 大厂| 济南市| 玉环县| 泗洪县| 惠安县| 广元市| 边坝县| 青神县| 张家界市| 贵州省| 宣武区| 林周县| 金寨县| 明星| 襄樊市| 铁岭市| 蕉岭县| 磐安县| 梨树县| 清流县| 梁山县| 红河县| 武安市| 衡南县| 江北区| 滦平县| 东海县| 克什克腾旗| 虹口区| 平邑县| 天镇县| 兰州市| 永善县| 运城市| 普宁市| 古浪县| 铁岭县|