REM  *****  BASIC  *****

Sub DialogOnTheFly

   oDialogModel = createUnoService( "com.sun.star.awt.UnoControlDialogModel" )
   oDialogModel.Title = "Тестовый диалог"
   oDialogControl = createUnoService( "com.sun.star.awt.UnoControlDialog" )
   oDialogControl.setModel( oDialogModel )
   oDialogControl.setPosSize( 50, 50, 250, 150, com.sun.star.awt.PosSize.POSSIZE)

   oFieldModel = oDialogModel.createInstance( "com.sun.star.awt.UnoControlEditModel" )
   oDialogModel.insertByName( "TextField1", oFieldModel )
   oFieldControl = oDialogControl.getControl("TextField1")
   oFieldControl.setPosSize(100, 50, 100, 20, com.sun.star.awt.PosSize.POSSIZE)
   oFieldControl.setFocus

   oButtonModel = oDialogModel.createInstance( "com.sun.star.awt.UnoControlButtonModel" )
   oButtonModel.PushButtonType = com.sun.star.awt.PushButtonType.OK
   oDialogModel.insertByName( "OKButton", oButtonModel )
   oButtonModel.Label = "OK"
   oButtonControl = oDialogControl.getControl("OKButton")
   oButtonControl.setPosSize(50, 100, 50, 30, com.sun.star.awt.PosSize.POSSIZE)

   oButtonModel = oDialogModel.createInstance( "com.sun.star.awt.UnoControlButtonModel" )
   oButtonModel.PushButtonType = com.sun.star.awt.PushButtonType.CANCEL
   oDialogModel.insertByName( "CancelButton", oButtonModel )
   oButtonModel.Label = "Cancel"
   oButtonControl = oDialogControl.getControl("CancelButton")
   oButtonControl.setPosSize(150, 100, 50, 30, com.sun.star.awt.PosSize.POSSIZE)


   oDialogControl.setVisible( True )
   nButtonClicked = oDialogControl.execute
   sText = oFieldControl.Text

   If nButtonClicked = 1 Then
      MsgBox "Текст: " & sText
   Else
      MsgBox "Диалог закрыт!"
   End If

End Sub
