vb 6 listview的背景透明的實現

2021-04-15 15:34:45 字數 1352 閱讀 9051

研究這個問題已經有乙個多月了,google個n天,都沒人解決,始終沒有找到好的方法,我是vb小弱阿。最後還是們組的老大高,找到了乙個方法。決定不私藏: 

首先:當然是hook listview的winproc函式如下

public function lvsubcls_wproc4hdr(byval hwnd as long, byval msg as long, byval wparam as long, byval lparam as long) as long

on error resume next

dim updaterect as rect

dim hrgn as long

dim re as long

dim ps as paintstruct

dim hdc as long

dim hp1dc as long

dim hmemdc as long

dim hbitmap as long

dim itemheight as long

dim lvrect as rect, imagerect as rect, lvwinrect as rect, imagewinrect as rect

getclientrect hwnd, lvrect

getclientrect sourceimagehwnd, imagerect

getwindowrect hwnd, lvwinrect

getwindowrect sourceimagehwnd, imagewinrect

select case msg

case wm_erasebkgnd

dim offsetx as long

dim offsety as long

offsetx = lvwinrect.left - imagewinrect.left

offsety = lvwinrect.top - imagewinrect.top

hdc = getdc(hwnd)

re = bitblt(hdc, 0, 0, lvrect.right, lvrect.bottom, sourceimagedc, offsetx, offsety, srccopy)

invalidaterect hwnd, lvrect, 0

releasedc hwnd, hdc

lvsubcls_wproc4hdr = 1

case else

lvsubcls_wproc4hdr = callwindowproc(origlvwinproc, hwnd, msg, wparam, lparam)

end select

end function

ok了

VB中listview 的FindItem用法

finditem 方法 listview 控制項 查詢並返回 listview 控制項中 listitem 物件的引用。語法object.finditem string,value,index,match finditem 方法的語法包含下面部分 部分 描述 object 必需的。物件表示式,其值是...

listview的背景顏色設定

listview的預設背景是黑色的 這樣的背景確實讓人蛋疼 有時候我們需要設定背景為白色或者其他顏色 於是我在listview的backgroud裡設定顏色為白色 結果發現當點選或拖動listview時顏色又變回了黑色 後經google發現,原來是android cachecolorhint在搞鬼 ...

ListView拖動時背景黑色的問題

我們知道在android中listview是乙個比較常用的ui控制項,我們在大部分開發中都需要用到它,因此android為我們提供了listview的多種實現方法,通過自定義顯示布局讓顯示的內容更加美觀,但是我們會發現這樣乙個問題,當我們操作listview的時候,如果不使用手機上下按鍵的時候,直接...