Create “Remotely Controllable” Forms

Create “Remotely Controllable” Forms

Sometimes I need to control a VB form while focus is on another one. For example, I want form B to beresized when I press the “OK” button on form A. In every form that must be “remote controllable,” I include aninvisible text box, such as TextCommand, with the Change procedure containing code like this:

 Sub TextCommand_Change ()        Dim msg as string               msg = Trim$(Me.TextCommand.Text)        If Len(msg) = 0 Then Exit Sub        Select Case msg                Case "COMMAND_RESIZE"                        Call MyFormResize                Case "COMMAND_REPAINT"                        Call MyFormPaint                                ...        End Select        Me.TextCommand = ""End Sub

You can remotely control this form by sending the appropriate value to its TextCommand field:

 Sub Command1_Click ()        formB.TextCommand = "COMMAND_RESIZE"        DoEventsEnd Sub

Use this code to send messages from an MDI form to its child:

 Dim f As FormSet f = Me.ActiveFormf.TextCommand = "COMMAND_RESIZE" 

If you program under VB4 or VB5, you might wish to use Public form properties and methods instead.


Share the Post: