Non riesco a modifica il testo di un tasto di un dialogo

Creare una macro - Scrivere uno script - Usare le API
Rispondi
e.engelmann
Messaggi: 3
Iscritto il: martedì 10 gennaio 2017, 16:56

Non riesco a modifica il testo di un tasto di un dialogo

Messaggio da e.engelmann »

Ciao a Tutti,
Una domanda probabilmente stupidissima (sono agli inizi, avevo preso dimestichezza con la versione precedente, quella di StarOffice, ma poi avevano cambiato tutto e avevo lasciato un po' perdere, pero' adesso volevo ricominciare...).

Non riesco a modificare un dialogo, in particolare il testo di un pulsante!
Non da errori e tutto quello che riguarda le manipolazioni del foglio di calc lo fa correttamente, ma non riesco ad incidere sul dialogo programmaticamente (neanche a chiuderlo, per la verita').

Qua il codice della sub:
 Editato: Codifica aggiunta (admin) 

Codice: Seleziona tutto

Sub cmdDettagli_Click()	

	Dim Doc As Object
	Dim SheetUomini, SheetDonne As Object
	Dim ColonnaEmail, ColonnaNome, ColonnaTelefono, ColonnaCellulare as Object
	Dim Cella as Object
	dim cmdDettagli as Object
	Dim formOpzioni As Object
	
    DialogLibraries.LoadLibrary( "Standard" )
    formOpzioni = CreateUnoDialog( DialogLibraries.Standard.getByName("formOpzioni") )
    
    CmdDettagli = formOpzioni.getControl("cmdDettagli")
    
	Doc = ThisComponent
	SheetUomini = Doc.Sheets(1)
	ColonnaEmail = SheetUomini.Columns(0)	
	ColonnaTelefono = SheetUomini.Columns(3)
	ColonnaCellulare = SheetUomini.Columns(4)
	If ColonnaEmail.IsVisible = True Then
		ColonnaEmail.IsVisible = False
		ColonnaTelefono.IsVisible = False
		ColonnaCellulare.IsVisible = False
	    cmdDettagli.Model.Label = "Visualizza dettagli!"
	Else
		ColonnaEmail.IsVisible = True
		ColonnaTelefono.IsVisible = True
		ColonnaCellulare.IsVisible = True	
	    cmdDettagli.Model.Label = "Nascondi dettagli!"
	EndIf
	
	SheetDonne = Doc.Sheets(3)
	ColonnaEmail = SheetDonne.Columns(1)
	ColonnaTelefono = SheetDonne.Columns(4)
	ColonnaCellulare = SheetDonne.Columns(5)
	If ColonnaEmail.IsVisible = True Then
		ColonnaEmail.IsVisible = False
		ColonnaTelefono.IsVisible = False
		ColonnaCellulare.IsVisible = False
	Else
		ColonnaEmail.IsVisible = True
		ColonnaTelefono.IsVisible = True
		ColonnaCellulare.IsVisible = True	
	EndIf
	
End Sub
Ho provato anche con cmdDettagli.Label, ma non cambia niente!
Qualcuno sa darmi un aiuto!
OpenOffice 4.1.3 su Windows10
XLUPOGRIGIOX
Messaggi: 142
Iscritto il: domenica 10 maggio 2015, 18:17
Località: Busto Arsizio (VA)

Re: Non riesco a modifica il testo di un tasto di un dialogo

Messaggio da XLUPOGRIGIOX »

Ciao,non sapendo bene come hai impostato il dialogo e la sua apertura,ho creato un file test e a me funziona,se alleghi il file magari ti si può dare meglio una mano ;)
Allegati
test.ods
(11.44 KiB) Scaricato 234 volte
OpenOffice 4.1.1 su windows seven
e.engelmann
Messaggi: 3
Iscritto il: martedì 10 gennaio 2017, 16:56

Re: Non riesco a modifica il testo di un tasto di un dialogo

Messaggio da e.engelmann »

Ringrazio per la pronta risposta!
Anche se non sono riuscito a capire quale era il problema!
Alla fine, cambiando e modificando e' andato tutto in tilt e mi dava un errore che secondo me era dovuto ad un errore di salvataggio (diceva che non trovava una voce di una libreria...???)
Per cui ho ricominciato da zero e adesso funziona!
In compenso, non mi visualizza correttamente i colori del dialogo! In modalità progettazione i pulsanti sono blu scuri (come voglio io), quando visualizzo il dialogo me li ritrovo grigi come il contenitore!
Boh! Misteri dell'informatica!
OpenOffice 4.1.3 su Windows10
XLUPOGRIGIOX
Messaggi: 142
Iscritto il: domenica 10 maggio 2015, 18:17
Località: Busto Arsizio (VA)

Re: Non riesco a modifica il testo di un tasto di un dialogo

Messaggio da XLUPOGRIGIOX »

Ciao,purtroppo succede anche a me,anche se ancora non ho capito come mai...
Comunque dopo varie ricerche,ho risolto inserendo questa stringa prima di far eseguire il dialogo :

Codice: Seleziona tutto

Dlg.getPeer().setProperty("NativeWidgetLook",False)
Qundi la macro per aprire il dialogo diventa :

Codice: Seleziona tutto

option explicit

private Dlg As Object

'Sub per apertura maschera
Sub Apri_Finestra1
Dim Valore as long
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
Dlg.getPeer().setProperty("NativeWidgetLook",False)
Dlg.Execute()
end sub
Fammi sapere se funziona :D
OpenOffice 4.1.1 su windows seven
e.engelmann
Messaggi: 3
Iscritto il: martedì 10 gennaio 2017, 16:56

Re: Non riesco a modifica il testo di un tasto di un dialogo

Messaggio da e.engelmann »

Grazie! Per adesso comunque funziona tutto correttamente!
Mi è sembrato di poter vedere che se si fa piu' volte ctrl Z per annullare piu' modifiche, tutto di colpo scompaiono tutte le macro salvate e salta fuori quell'errore strano!
In quel caso chiudendo senza salvare si recupera l'ultima versione salvata! Deve essere un bug!
Invece, hai ragione, l'errore dei colori è andato a posto dopo avere inserito la riga che hai indicato! Deve trattarsi di un altro bug!
OpenOffice 4.1.3 su Windows10
Rispondi