注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
3D制作《血精灵盗贼》教程
用AutoCAD制作三维鸟笼教程
Photoshop为MM制作美丽动人的艺术
PS制作金属铁链特效字教程
PHOTOSHOP制作水晶圣诞小球教程
PHOTOSHOP制作晶莹剔透的立体标志
如何根据名称识别计算机病毒
教你如何防止脚本病毒执行的通用
在网吧如何防止病毒和快速杀毒
如何判断电脑是否感染了病毒
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> VB >> 文章正文
如何制作平面式的listview列头
作者:callzjy  来源:csdn  点击:  更新:2006-12-19
简介:
 

在通常情况下,listview的列头是按钮式的,如果你想把列头做成平面式的,那就用我的方法试试,源码如下

Option Explicit

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const GWL_STYLE = (-16)
Private Const LVM_FIRST = &H1000
Private Const LVM_GETHEADER = (LVM_FIRST + 31)
Private Const HDS_BUTTONS = &H2

Private Sub Form_Load()

Dim hHeader As Long, lStyle As Long
Dim i As Integer
ListView1.View = lvwReport
With ListView1.ColumnHeaders
.Add , , "编号", 500, lvwColumnLeft
For i = 1 To 10
.Add , , "内容项" & i, 1000, lvwColumnRight
Next
End With

hHeader = SendMessage(ListView1.hWnd, LVM_GETHEADER, 0, ByVal 0&)
lStyle = GetWindowLong(hHeader, GWL_STYLE)
SetWindowLong hHeader, GWL_STYLE, lStyle Xor HDS_BUTTONS
End Sub


 

在通常情况下,listview的列头是按钮式的,如果你想把列头做成平面式的,那就用我的方法试试,源码如下

Option Explicit

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const GWL_STYLE = (-16)
Private Const LVM_FIRST = &H1000
Private Const LVM_GETHEADER = (LVM_FIRST + 31)
Private Const HDS_BUTTONS = &H2

Private Sub Form_Load()

Dim hHeader As Long, lStyle As Long
Dim i As Integer
ListView1.View = lvwReport
With ListView1.ColumnHeaders
.Add , , "编号", 500, lvwColumnLeft
For i = 1 To 10
.Add , , "内容项" & i, 1000, lvwColumnRight
Next
End With

hHeader = SendMessage(ListView1.hWnd, LVM_GETHEADER, 0, ByVal 0&)
lStyle = GetWindowLong(hHeader, GWL_STYLE)
SetWindowLong hHeader, GWL_STYLE, lStyle Xor HDS_BUTTONS
End Sub







  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务