difficult

X

x taol

'event module
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
Button1_Click
End Sub

'general module
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI)
As Long

Public Type POINTAPI
X As Long
Y As Long
End Type
Sub Button1_Click()
Dim mousePoint As POINTAPI
Dim z1 As CommandBarPopup, z2 As CommandBarPopup

On Error Resume Next: Application.CommandBars("popMnu").Delete: On Error
GoTo 0

Set cb = CommandBars.Add(Name:="popMnu", Position:=msoBarPopup,
MenuBar:=0, Temporary:=1)
For i = 0 To 2
Set z1 = cb.Controls.Add(msoControlPopup)
z1.Caption = VBA.Rnd * 100
For j = 0 To 2
Set z2 = z1.Controls.Add(msoControlPopup)
z2.Caption = VBA.Rnd * 50
For k = 1 To 2
Set cm = z2.Controls.Add(msoControlButton)
sr = Choose(k, "rw", "r")
cm.Caption = sr
cm.OnAction = "ho"
Next
Next
Next
GetCursorPos mousePoint
cb.ShowPopup mousePoint.X, mousePoint.Y
End Sub

Sub ho()
CommandBars.ActionControl.Parent.Caption
'the following code does not work.
'i want to get caption of the parent menu of clicked menu.
End Sub



*** Sent via Developersdex http://www.developersdex.com ***
 
B

Bob Phillips

Application.CommandBars.ActionControl.Parent.Name

--

HTH

Bob Phillips

(replace xxxx in the email address with gmail if mailing direct)
 
G

Greg Wilson

The background that a popup conctrol is attached to is itself a commandbar
and is the parent of the control. However, this commandbar does not have a
caption property. That's why the error. You instead want "Parent.Parent":


MsgBox CommandBars.ActionControl.Parent.Parent.Caption

Regards,
Greg
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top