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]