| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1800 人关注过本帖
标题:控件数组不会,支援我啊!(完美解决,多谢MM版主)
只看楼主 加入收藏
sansizhou
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-11-24
收藏
得分:0 
这些参数值哪里找的?我在VB的索引里找不到么!
2006-12-01 10:06
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
在msdn里看到/..

我的msn: myfend@
2006-12-01 10:10
sansizhou
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-11-24
收藏
得分:0 

Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Call RMouseDown
End If
End Sub
Private Function RMouseDown()
Command1(Index).Caption = "!"
End Function

和Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Command1(Index).Caption = "!"
End If
End Sub
有什么区别阿?为什么效果会是不一样的?(前一个无论在什么地方按右键都是第一个command1(1)显示“!”,后一个则正常。)
2006-12-01 10:54
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Call RMouseDown(Index)
End If
End Sub

Private Sub RMouseDown(Byval ind As Integer) '因为不返回值.所以应该用Sub,而不是Function , 加个参数设置Index
Command1(Ind).Caption = "!"
End Function

我的msn: myfend@
2006-12-01 10:57
noctune
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-6-8
收藏
得分:0 

用 SHIFT 参数判断是否按下了 SHIFT、CTRL 和 ALT 键,以及各种组合(如果存在)。
如果按 SHIFT 键,则 shift 为 1;
如果按 CTRL 键,则 shift 为 2;
如果按 ALT 键,则 shift 为 4。
应使用这些键值的总和来判断这些组合。
如,同时按下 SHIFT 和 ALT 键时 shift 等于 5 (1 + 4)。


列出这些值和常数:
[QUOTE]
二进制值 十进制值 常数 意义
001 1 vbShiftMask 按 SHIFT 键。
010 2 vbCtrlMask 按 CTRL 键。
100 4 vbAltMask 按 ALT 键。
011 3 vbShiftMask + vbCtrlMask 按 SHIFT 键和 CTRL 键。
101 5 vbShiftMask + vbAltMask 按 SHIFT 键和 ALT 键。
110 6 vbCtrlMask + vbAltMask 按 CTRL 键和 ALT 键。
111 7 vbCtrlMask + vbAltMask + vbShiftMask 按 SHIFT、CTRL 和 ALT 键。
[/QUOTE]
其实你可以发现 它们就是三位二进制的组合状态,三个二进制位依次代表(从高到低):ALT CTRL SHIFT


世界上有两种人:懂二进制的和不懂二进制的。
2006-12-01 12:31
sansizhou
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-11-24
收藏
得分:0 
多谢各位,此类问题已经解决,下次开新贴问别的问题,还有劳各位!!!一鞠躬
2006-12-01 12:45
快速回复:控件数组不会,支援我啊!(完美解决,多谢MM版主)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071732 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved