我觉得值得大家探讨的问题,想不来怎么办了,偶是笨吗???55555555

hackate 2004-04-11 02:55:01
偶今天做了个程序啊,我想说一下,

比如我有5个按钮啊,针对做不同的事啊,!这个就不说了

我有个菜单啊,就是我鼠标如果在那个按钮那里右建点一下就出来一个菜单让人选择啊

里面有个我想实现的功能是,“重命名啊”就是重命令这个按钮的名字啊,这个看起来并不糟糕,可是问题我做了一下,出来了,菜单不是说每个按钮都不同的,每个按钮都是调用同一个菜单的,所以,如果我现在比如选择了第二个按钮吧,那么我选择了“重命名“,那么怎么重命名后只针对我们点季的按钮起作用呢,而不对别的按钮有干扰,有什么的,我想不通,

主要问题是菜单条只有一个,5个按钮都共用这个菜单,所以我不知道怎么让菜单来判断到底我是点级了那个按钮,然后重命名才不会互相干扰啊,这个就是不知道怎么判断了,谢谢各位帮忙一下好么?谢谢,不知道听懂了我的意思没,偶笨笨啦!!!
...全文
93 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
hackate 2004-04-12
  • 打赏
  • 举报
回复
我的MAIL是

700343@qq.com
hackate 2004-04-12
  • 打赏
  • 举报
回复
不过现在好像可以了,不过就是出在焦点问题了,必须鼠标先电机一下才又用键有效果啊,烦!

比如我有5个按钮,那么默认一个焦点是在其中的第一个按钮上,比如我现在要按别的按钮的右键就不起作用,必须先点这个按钮,然后把焦点移动到这个按钮上,然后点右键才起作用啊,现在就这个问题了,我是针对你MSTOP大哥,你的例子出的这个问题啦,你能看看解决方法么?谢谢!
hackate 2004-04-12
  • 打赏
  • 举报
回复
MSTOP大哥,我昨天给你发过邮件的啊,好像你根本都没收倒啊!
华芸智森 2004-04-12
  • 打赏
  • 举报
回复
给我EMAIL.
我将写个例子发给你.
CJWA@21CN.COM
注明:http://expert.csdn.net/Expert/topic/2951/2951512.xml?temp=6.283206E-02
hackate 2004-04-12
  • 打赏
  • 举报
回复
说实话我被这个问题搞疯了快,我技术差,有时候你们给的好像比较深奥,不深奥,有好像讲解化,我觉得如果做个实例化,好像比较容易理解,哎,真的很烦啊,这个问题搞得头好痛,我都不清楚,到底你们理解了我的意思没啊,我又,,,,,哎,,,,
hackate 2004-04-12
  • 打赏
  • 举报
回复
Dim focus As Integer

Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
focus = Index
Command1(Index).SetFocus
If Button = 2 Then PopupMenu a
End Sub

Private Sub rename_Click()
Command1(focus).Caption = InputBox("please enter the new name:", "rename", "新的名字")
End Sub

你的方法错了吧,这样怎么能行呢,
你这样做,好像只对COMMAND1起作用,那么我现在有COMMAND1-COMMAND5这样啊,

Command1(focus).Caption =
这个又改怎么改变呢,我觉得你是误解了我的意思,或者你的方法错了吧
华芸智森 2004-04-12
  • 打赏
  • 举报
回复
Dim WithEvents Ev_CommandButton As VB.CommandButton
'********************************************
定义一个CommandButton的事件源.当设置好事件源的对象以后.可以对事件源操作.
例如:你可以将COMMAND1赋给Ev_CommandButton ,也可以将COMMAND2赋给Ev_CommandButton , 总之,只要源控件是COMMANDBUTTON,Ev_CommandButton 都可以处理.
注:这样定义不同于数组处理,比控件数组具有更大的灵活性.

lsftest 2004-04-12
  • 打赏
  • 举报
回复
定义一全局变量(例如叫comindex)来储存被点击的按钮编号,然后在每个按钮的mousedown事件中判断是不是右键点击,如果是,则修改comindex的值为此按钮的相应编号,然后弹出菜单。在菜单的“重命名“中,调用一个子过程,而这个子过程的功能就是根据comindex的值来修改相应按钮的caption属性。
northwolves 2004-04-12
  • 打赏
  • 举报
回复
Dim focus As Integer

Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
focus = Index
Command1(Index).SetFocus
If Button = 2 Then PopupMenu a
End Sub

Private Sub rename_Click()
Command1(focus).Caption = InputBox("please enter the new name:", "rename", "新的名字")
End Sub



没错,控件数组
wumy_ld 2004-04-11
  • 打赏
  • 举报
回复
MSTOP的方法显得结构严密,环环相扣,northwolves(野性的呼唤) 的方法最简单易懂
northwolves 2004-04-11
  • 打赏
  • 举报
回复
添加控件数组COMMAND1,菜单A(含子菜单RENAME)

Dim focus As Integer

Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
focus = Index
Command1(Index).SetFocus
If Button = 2 Then PopupMenu a
End Sub

Private Sub rename_Click()
Command1(focus).Caption = InputBox("please enter the new name:", "rename", "新的名字")
End Sub
hackate 2004-04-11
  • 打赏
  • 举报
回复
我做不来啊,我不知道怎么搞,那个例子我也不知道怎么搞啊,我不理解这句

Dim WithEvents Ev_CommandButton As VB.CommandButton

这个不太理解啊,请大家在帮帮我,或者给我一下别的意见和例子,我做不来,又找不到TOP大哥,哎,5555555555,我怎么办嘛!!
douhapy 2004-04-11
  • 打赏
  • 举报
回复
可以把点击的信息存贮在按钮的Tag中
每次点击某个按钮,只需判断其它按钮的Tag中的之即可
luler 2004-04-11
  • 打赏
  • 举报
回复
tag
华芸智森 2004-04-11
  • 打赏
  • 举报
回复

'参考一下.
'若干个COMMANDBUTTON,一个TEXT1,一个莱单(你要适当修改一下).
Option Explicit

Dim WithEvents Ev_CommandButton As VB.CommandButton

Private Sub Ev_CommandButton_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Me.PopupMenu MYPOPMNU '弹出莱单
End If
End Sub

Private Sub Form_Load()
Timer1.Interval = 50
Text1.Visible = False
End Sub

Private Sub Text1_Change()
If Not (Ev_CommandButton Is Nothing) Then
Ev_CommandButton.Caption = Text1.Text
End If
End Sub

Private Sub Text1_LostFocus()
Text1.Visible = False
End Sub

Private Sub Timer1_Timer()
If UCase$(TypeName(Me.ActiveControl)) = "COMMANDBUTTON" Then
Set Ev_CommandButton = Me.ActiveControl
End If
End Sub

Private Sub 修改_Click() '莱单中修改
Text1.Visible = True
End Sub
qyii 2004-04-11
  • 打赏
  • 举报
回复
陈Sir在写...偶就省省了!呵呵
华芸智森 2004-04-11
  • 打赏
  • 举报
回复
可以实现在的,等一下我写一段程序给你.
hackate 2004-04-11
  • 打赏
  • 举报
回复
难道没人了么?不里偶了,这里人气好像差了啊,身边没人学VB,好孤独,有问题只能上这里找大哥哥,可是又没人帮偶,算了,偶还是自己顶,!

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧