vb6(SP6) 通用控件5.0的listview中的checkbox listview中添加控件 自定义通用对话框

请回答下面问题:1、为了用xp样式,我使用了通用控件5.0里面的listview,视图设置成report样式。它默认是没有checkbox的,我自己发消息给它加上去了。现... 请回答下面问题:
1、为了用xp样式,我使用了通用控件5.0里面的listview,视图设置成report样式。它默认是没有checkbox的,我自己发消息给它加上去了。现在的问题是,我怎么知道checkbox有没有打钩呢?

我知道这个用6.0版的通用控件很好实现,因为每个项目有checked属性,不过要放弃xp样式。那 5.0 版listview的怎么实现呢?

2、listview里每个项目后面是否可以添加控件?比如我想让每个item后面都有一个按钮或者复选框(类似Access数据库表中的是否选项),按下可以执行我指定的操作,那又应该怎么实现?

3、如何在通用对话框中增加自定义的控件?如Photoshop CS2的【打开】对话框中就有预览图片功能和【使用Adobe对话框】的按钮,如何做到这些功能?

请给出完整的示例代码或程序段或解决思路。
展开
 我来答
远风的梦想家
2010-07-10 · TA获得超过2550个赞
知道大有可为答主
回答量:1389
采纳率:0%
帮助的人:0
展开全部
1、这个问题我给你解答:添加一个按钮和一个listview,然后粘贴以下代码就可以检查checkbox是否打勾
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 LVM_FIRST = &H1000

Private Const LVM_GETITEMSTATE = LVM_FIRST + 44
Private Const LVIS_SELECTED = &H2000

Private Sub Command1_Click()
Dim i As Integer
Dim l As Long
Dim s As String
For i = 0 To ListView1.ListItems.Count - 1
l = SendMessage(ListView1.hwnd, LVM_GETITEMSTATE, i, 0)
If (l And LVIS_SELECTED) > 0 Then
s = s & ListView1.ListItems.Item(i + 1).Text & "选中" & vbCrLf
Else
s = s & ListView1.ListItems.Item(i + 1).Text & "未选中" & vbCrLf
End If
Next i
MsgBox s
End Sub

Private Sub Form_Load()
Dim X As ListItem
Dim i As Integer
ListView1.ColumnHeaders.Add , "A", "AAA"
ListView1.ColumnHeaders.Add , "B", "BBB"
ListView1.ColumnHeaders.Add , "C", "CCC"
For i = 1 To 10
Set X = ListView1.ListItems.Add
X.Text = "L" & i
X.SubItems(1) = "LA" & 10 - i
X.SubItems(2) = "LB" & i
Next i
Dim l As Long

l = SendMessage(ListView1.hwnd, LVM_FIRST + 55, 0, 0)
l = l Or &H75
l = SendMessage(ListView1.hwnd, LVM_FIRST + 54, 0, l)
End Sub
2、每个项目后面都添加一个按钮或者checkbox是不可以的,windows系统层面上没有提供这个功能,并且你加上了也没有相关的API能获得其状态。
3、VC可以,VB做不到,VC的思路是,创建一个对话框资源,然后把自定义的功能加入到对话框里,然后再把打开对话框嵌入到这个窗口里(或者把自定义的功能嵌入到打开对话框里),并且你必须用API方式来启动通用对话框而不是控件(网上有流传API显示打开窗口的方法,不过超级麻烦),这种嵌入对话框的方法在VB里目前还没有看到有效的简单的方法可以实现,但是VC可以
欢迎你加我百度HI或者QQ(在我的百度空间里有)来讨论第三个问题,第三个问题不是完全没有可能,第二个是完全没可能实现的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式