Marco Caresia schrieb:

Antonello Cerrato wrote:
c'é    qualche apposito metodo dell'oggetto dialogo o di
Controls, .add o similari?

Ciao Antonello,
se devi solo cambiare l'etichetta accedi al controllo tramite il suo nome e 
quindi cambi la
proprietà Label.

In ogni caso ti consiglio la lettura dei post molto chiari di Danny Brewer:
        http://www.oooforum.org/forum/viewtopic.phtml?t=3130

Ciao,
Ringrazio ancora tutti per i solleciti aiuti e cerco di ricambiare se a qualcuno può essere utile, con questa rielaborazione dei post di cui sopra: ho ritenuto opportuno per semplificarmi le cose agire su un dialogo costruito con l'editor ("MyDialogo"), con alcuni controlli fissi già impostati, e in fase di runtime aggiungere le etichette che mi servono volta per volta, anziché creare exnovo tutto il dialogo, quindi faccio così:

Private oDialogModel as object
Private oDialogControl as object

Sub EsegueDialogoAggiungeControlli
   'carica il dialogo e gli oggetti Model e Control
       DialogLibraries.LoadLibrary("MyLibrary")
       Dlg = CreateUnoDialog(DialogLibraries.MyLibrary.MyDialogo)
       oDialogModel = Dlg.getModel
oDialogControl = createUnoService( "com.sun.star.awt.UnoControlDialog" )
       oDialogControl.setModel(oDialogModel)
'esegue Sub che aggiunge un label passandogli i parametri per le proprietà DlgTool_Label( 20, 45, 60, 18, "EtiProva", "Testo etichetta", 2, 6684774, 16777215, 12, 150 )
   'esegue il dialogo
       iRisultato = Dlg.Execute()
'... Dlg.dispose()
End Sub

Sub DlgTool_Label( x As Long, y As Long, width As Long, height As Long, cName As String, cCaption As String, cBorder As Integer, cBorderColor As Long, cBackgroundcolor As Long, cFontHeight as Single, cFontWeight as Single ) If x < 0 Then
     x = oDialogModel.Width + x - width
  EndIf
  If y < 0 Then
     y = oDialogModel.Height + y - height
  EndIf
oLabelModel = oDialogModel.createInstance( "com.sun.star.awt.UnoControlFixedTextModel" )
  ' Initialize the label model's properties.
  oLabelModel.PositionX = x
  oLabelModel.PositionY = y
  oLabelModel.Width = width
  oLabelModel.Height = height
  oLabelModel.Name = cName
  oLabelModel.TabIndex = nNumControls
  oLabelModel.Label = cCaption
  oLabelModel.Border = cBorder
  oLabelModel.BorderColor = cBorderColor
  oLabelModel.Backgroundcolor = cBackgroundcolor
  oLabelModel.FontHeight = cFontHeight
  oLabelModel.FontWeight = cFontWeight
oDialogModel.insertByName( cName, oLabelModel )
  oLabelControl = oDialogControl.getControl( cName )
ReDim Preserve oControls( nNumControls, CTRL_NUM_COLUMNS-1 )
  oControls( nNumControls, CTRL_NAME ) = cName
  oControls( nNumControls, CTRL_MODEL ) = oLabelModel
  oControls( nNumControls, CTRL_CONTROL ) = oLabelControl
nNumControls = nNumControls + 1
End Sub

Naturalmente si possono modificare altre proprietà aggiungendoli ai parametri da passare alla Sub "DlgTool_Label" e corrispondentemente alla sua chiamata.

ciao a tutti
Antonello

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a