RELEASE ALL CLEAR ALL PUBLIC oForm1, oForm2, oTranslate oForm1 = CREATEOBJECT('frmRunningForm') oForm2 = CREATEOBJECT('frmTranslator') oTranslate = CREATEOBJECT('Translate') oForm1.Show() BINDEVENT(_screen.ActiveForm, [MouseMove], oTranslate, [NewBindEvent]) RETURN DEFINE CLASS Translate AS Custom lBound = .F. PROCEDURE DoForm oForm2.Show() ENDPROC PROCEDURE NewBindEvent LPARAMETERS uParm1, uParm2, uParm3, uParm4, uParm5, uParm6 IF TYPE("_screen.ActiveForm.ActiveControl") = [O] BINDEVENT(_screen.ActiveForm.ActiveControl, [RightClick], oTranslate, [DoForm]) THIS.lBound = .T. ELSE IF THIS.lBound UNBINDEVENT(_screen.ActiveForm.ActiveControl, [RightClick], oTranslate, [DoForm]) THIS.lBound = .F. ENDIF ENDIF 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 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