PUBLIC oForm1, oForm2, oTranslate oForm1 = CREATEOBJECT('frmRunningForm') oForm2 = CREATEOBJECT('frmTranslator') oTranslate = CREATEOBJECT('Translate') oForm1.Show() LOCAL loObject FOR EACH loObject IN _Screen.ActiveForm.Objects BINDEVENT(loObject, [RightClick], oTranslate, [DoForm]) ENDFOR RETURN DEFINE CLASS Translate AS Custom PROCEDURE DoForm AMOUSEOBJ(laObject, 1) loObj = laObject(1) oForm2.txtName.Value = loObj.Name oForm2.Show() ENDPROC ENDDEFINE DEFINE CLASS frmRunningForm AS form Caption = "Running Form" Name = "frmRunningForm" Top = 0 Left = 0 ADD OBJECT label1 AS label WITH ; AutoSize = .T., ; Caption = "RightClick on This Label", ; Height = 17, ; Left = 84, ; Top = 45, ; Width = 136, ; TabIndex = 1, ; Name = "Label1" ADD OBJECT cmdExit AS commandbutton WITH ; Top = 121, ; Left = 80, ; Height = 27, ; Width = 84, ; Caption = "Exit", ; TabIndex = 3, ; Name = "cmdExit" ADD OBJECT text1 AS textbox WITH ; Height = 23, ; Left = 94, ; TabIndex = 2, ; Top = 75, ; Width = 100, ; Name = "Text1" PROCEDURE cmdExit.Click THISFORM.Release() ENDPROC PROCEDURE Destroy CLEAR EVENTS ENDPROC ENDDEFINE DEFINE CLASS frmTranslator AS form Caption = "Translator Form" Name = "frmTranslator" AutoCenter = .T. Closable = .F. ADD OBJECT txtName as textbox WITH ; TOP = 10, ; LEFT = 10, ; WIDTH = 100, ; HEIGHT = 24, ; NAME = "txtName" ADD OBJECT cmdExit AS commandbutton WITH ; Top = 139, ; Left = 154, ; Height = 27, ; Width = 84, ; Default = .T., ; Caption = "Exit", ; Name = "cmdExit" PROCEDURE cmdExit.Click THISFORM.Hide() ENDPROC ENDDEFINE