Re: [dev-it] Dialoghi: OptionButton
>> All' apertura del dialogo si presenta questa situazione: >> - le variabili A e B sono a 0 (zero) >> - uno dei due OptionButton è selezionato > > Basta preimpostrae le variabili esattamente come si presentano gli > OptionButton per default e il problema è risolto. > Ho appena provato e in realtà all'apertura del dialogo nessun > OptionButton è selezionato (strano). Il fatto di dover preimpostare i valori della variabile può essere anche una dimenticanza del programmatore, ma comunque (a mio parere) è una buona pratica (almeno sai a quello che hai e non ti dovrebbero capitare brutte sorprese...). >> A questo punto il problema è di programmazione, cioè quando si imposta >> a 1 (uno) la variabile che rappresenta l' OptionButton selezionato si >> deve >> anche impostare a 0 (zero) l' altra variabile, altrimenti si corre il >> rischio >> di trovarsi le due variabili impostate a 1 >> E se ce ne sono più di due si deve fare una "spazzolata" su tutte per >> impostarle 0 > > Ovvio ... Posso permettermi di proporre anche un'altra soluzione? Una sola variabile (ad esempio integer) il cui valore rappresenta l'optionbutton selezionato e che viene preimpostata, ad esempio a -1, nel caso durante l'inizializzazione nessun optbtn è selezionato. In questo modo eviti "spazzolate" (che possono essere noiose, e si prestano ad errori, se non usi matrici e hai un certo numero di optionbutton) e, nella fase successiva, l'individuazione dell'optbtn selezionato si riduce ad un select case. Ciao! Emanuele. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar ha scritto: Avrei ancora una domanda: qualcuno sa come trasferire un dialog da un documento ad una libreria condivisa? Mi spiego meglio! Per trasferire un dialogo e relativo codice da un file ad un'altro (o da/a una lib condivisa) io taglio e incollo il codice e gli oggetti grafici del dialogo. Ma il tutto deve poi essere un po' aggiustato! Esiste un modo più pulito? grazie Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Michele Zarri ha scritto: Con due sole opzioni te la cavi con poche linee Sub Main oTestDlg = createUnoDialog(DialogLibraries.Standard.Test) > ...zot.. Grazie Michele, molto chiaro! Ma con piu' di due opzioni o con piu' di un gruppo di opzioni e' abbastanza un casino (credo). Il manualone fa un esempio con un listener che quando si verifica un cambiamento di stato va a leggersi il nome del controllo e agisce di conseguenza... roba da mal di testa gia' alla terza linea di codice. Adesso che avremo l'aspirina a buon mercato sarà più semplice! :-) Avrei ancora una domanda: qualcuno sa come trasferire un dialog da un documento ad una libreria condivisa? grazie Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
On 20/07/06, Bart Aimar <[EMAIL PROTECTED]> wrote:
SNIP!
> Infine, io suggerirei l'uso di radio buttons.
Ecco! Invece qui ho qualche problema...
Al momento ho fatto un aggiramento... (le scelte sono solo due (in
alternativa)...) quindi ancora manovrabile con un piccolo ambaradan...
Na vorrei proprio capire come funzionano questi
RadioButtons /OptionButtons / Pulsanti di scelta
Anzi aprirei un discussione per trovare qualche altro sinonimo giusto
per rendere un poco più interessante l'uso!
ciao
Bart
Con due sole opzioni te la cavi con poche linee
Sub Main
oTestDlg = createUnoDialog(DialogLibraries.Standard.Test)
If oTestDlg.execute() Then
oOB = oTestDlg.getControl("OB1")
If oOB.getState() Then
MsgBox "Option 1 selected"
Else
MsgBox "Option 2 selected"
End If
End If
End Sub
Ma con piu' di due opzioni o con piu' di un gruppo di opzioni e' abbastanza
un casino (credo). Il manualone fa un esempio con un listener che quando si
verifica un cambiamento di stato va a leggersi il nome del controllo e
agisce di conseguenza... roba da mal di testa gia' alla terza linea di
codice.
L'idea di aprire un thread sull'argomento non e' male
Ciao,
Michele
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar wrote: L'altra cosa che faccio sempre io da bravo utente naif e' di utilizzare la GUI fornita per creare una finestra di dialogo. Marco Caresia mi vuol male... :-) Ma va là ;) E' solo che è un po' più veloce scrivere il codice che disegnare tutto quanto... -- MC - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Alle 13:18, giovedì 20 luglio 2006, Michele Zarri ha scritto: > On 20/07/06, martello <[EMAIL PROTECTED]> wrote: > > >Riguardo all'uso di .endExecute() in realta' dovresti cercare di > > > evitarlo mettendo nella finestra di dialogo che hai creato un pulsante > > > Ok e un pulsante Cancel. > > > > Per quale motivo evitarlo? > > A dire la verità non l'ho mai usato ... ma sono curioso ... [] > > > > Ad essere sincero non lo so nemmeno io :-) Super-Paolo (Mantovani) dice > > che non e' una buona abitudine e se lo dice Lui deve essere vero! :-) Dicevo così in estrema sintesi, ma volevo solo per condividere quella che è la mia personale esperienza. L'uso di endExecute complica il codice, perchè moltiplica i "punti di uscita" del dialogo. Codice più complesso = maggiore rischio di errori. Per questo motivo, secondo me, lo sforzo di ridisegnare un dialogo senza endExecute vale la candela Ovviamente ciascuno è libero di scrivere il proprio codice come crede. ciao Paolo M - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Michele Zarri ha scritto: Come ho scritto, da non-programmatore, per creare le mie finestre di dialogo uso la GUI di star basic. Tools-->macros-->organize dialogs. Da qui aggiungo ...zot... Non sono sicuro di essere stato chiarissimo, ma ci spero!! :-) Grazie Michele, Chiarissimo ! Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Michele Zarri ha scritto: Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo mettendo nella finestra di dialogo che hai creato un pulsante Ok e un pulsante Cancel. Una volta definito il pulsante Ok come pulsante Ok, basta poi questo codice: If oDlg.execute() Then [codice se l'utente ha premuto il pulsante ok] Else [codice se l'utente ha premuto cancel, il tasto esc, o la crocetta in alto a destra] End If OK Michele! Grazie! Ho risolto i problemi di annullamento del dialogo... L'altra cosa che faccio sempre io da bravo utente naif e' di utilizzare la GUI fornita per creare una finestra di dialogo. Marco Caresia mi vuol male... :-) Ma ho un caso sotto mano dove sarebbe bello fargli creare il dialogo via macro ... ma aspetto che il tempo si rinfreschi... Infine, io suggerirei l'uso di radio buttons. Ecco! Invece qui ho qualche problema... Al momento ho fatto un aggiramento... (le scelte sono solo due (in alternativa)...) quindi ancora manovrabile con un piccolo ambaradan... Na vorrei proprio capire come funzionano questi RadioButtons /OptionButtons / Pulsanti di scelta Anzi aprirei un discussione per trovare qualche altro sinonimo giusto per rendere un poco più interessante l'uso! ciao Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Ad essere sincero non lo so nemmeno io :-) Super-Paolo (Mantovani) dice che non e' una buona abitudine e se lo dice Lui deve essere vero! :-) Non c'è niente da fare ... se lo dice lui è vero ... e basta Ciao Ezio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
On 20/07/06, Bart Aimar <[EMAIL PROTECTED]> wrote: Michele Zarri ha scritto: > Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo > mettendo nella finestra di dialogo che hai creato un pulsante Ok e un > pulsante Cancel. Non so leggre ne scrivere... ma di certo questo endexecute mi sta dando un sacco di problemi! > Una volta definito il pulsante Ok come pulsante Ok, Cosa intendi esattamente "definire un pulsante OK come pulsante ok"? grazie Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Ciao Bart, Come ho scritto, da non-programmatore, per creare le mie finestre di dialogo uso la GUI di star basic. Tools-->macros-->organize dialogs. Da qui aggiungo tutti i controlli che voglio tra cui un pulsante che diventera' il pulsante ok. Con un doppio click (o premendo il bottone destro e selezionando "Properties") apro la finestra con le proprieta' del pulsante in cui imposto le dimensioni, il testo, il colore etc... Per il pulsante Ok, cambio la proprieta' "Button type". Fatto questo, quando l'utente preme il pulsante Ok, la finestra di dialogo si chiude con un risultato diverso da 0 (credo 1 ma non sono sicuro). Nello stesso modo puoi creare un pulsante "Cancel". C'e' un piccolo problema con questo metodo che ancora non sono riuscito a risolvere del tutto ma non voglio complicarti la vita (per il momento :-) ). Puoi anche accedere alla GUI tramite il buon vecchio tools-->macros--> organize Macros --> openoffice basic selezionando la library in cui hai messo la finestra di dialogo. Normalmente io prima di eseguire una finestra di dialogo lancio una funzione di inizializzazione in cui la preparo, ma nel tuo caso questo non dovrebbe essere necessario. Non sono sicuro di essere stato chiarissimo, ma ci spero!! :-) Ciao, Michele
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar ha scritto: Cosa intendi esattamente "definire un pulsante OK come pulsante ok"? OOPS! Ho trovato il controllo... ... lo dicevo che non so leggere... bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Michele Zarri ha scritto: Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo mettendo nella finestra di dialogo che hai creato un pulsante Ok e un pulsante Cancel. Non so leggre ne scrivere... ma di certo questo endexecute mi sta dando un sacco di problemi! Una volta definito il pulsante Ok come pulsante Ok, Cosa intendi esattamente "definire un pulsante OK come pulsante ok"? grazie Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
On 20/07/06, martello <[EMAIL PROTECTED]> wrote: >Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo >mettendo nella finestra di dialogo che hai creato un pulsante Ok e un >pulsante Cancel. Per quale motivo evitarlo? A dire la verità non l'ho mai usato ... ma sono curioso ... Ciao Ezio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Ad essere sincero non lo so nemmeno io :-) Super-Paolo (Mantovani) dice che non e' una buona abitudine e se lo dice Lui deve essere vero! :-) Sicuramente da un punto di vista di eleganza, il codice che effettua un test sul risultato della funzione .execute() e' molto meglio, detto questo in una mia finestra di dialogo che ha una decina di pulsanti che se premuti devono far chiudere la finestra, io mi sono ritrovato ad usare endExecute() pesantemente. Percio' come vedi, predico bene ma razzolo male [espressione toscana]. A presto! Michele
Re: [dev-it] Dialoghi: OptionButton
Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo mettendo nella finestra di dialogo che hai creato un pulsante Ok e un pulsante Cancel. Per quale motivo evitarlo? A dire la verità non l'ho mai usato ... ma sono curioso ... Ciao Ezio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
On 20/07/06, martello <[EMAIL PROTECTED]> wrote: > Ho capito che in questo caso bisogna usare Dlg2.EndExecute() > non so perchè ma funziona... Hem ... bisogna fare così. Oppure si chiude con la crocetta in alto. L'effetto è lo stesso. Ciao - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Ciao Bart, Ho provato a seguire il thread ma mi sono un po' perso, percio' scusatemi se ripeto cose gia' scritte mille volte. Riguardo all'uso di .endExecute() in realta' dovresti cercare di evitarlo mettendo nella finestra di dialogo che hai creato un pulsante Ok e un pulsante Cancel. Una volta definito il pulsante Ok come pulsante Ok, basta poi questo codice: If oDlg.execute() Then [codice se l'utente ha premuto il pulsante ok] Else [codice se l'utente ha premuto cancel, il tasto esc, o la crocetta in alto a destra] End If dove oDlg e' l'oggetto globale che associ alla finestra di dialogo L'altra cosa che faccio sempre io da bravo utente naif e' di utilizzare la GUI fornita per creare una finestra di dialogo. Infine, io suggerirei l'uso di radio buttons. Ciao, Michele
Re: [dev-it] Dialoghi: OptionButton
Ho capito che in questo caso bisogna usare Dlg2.EndExecute() non so perchè ma funziona... Hem ... bisogna fare così. Oppure si chiude con la crocetta in alto. L'effetto è lo stesso. Ciao - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar ha scritto: Ho provato ad aggiungere un pulsante "OK! Prosegui..." associando l'evento "mouse rilasciato" al codice: sub dialogo_chiudi Dlg2.dispose() end sub e regolarmente OO va in crash! Ho capito che in questo caso bisogna usare Dlg2.EndExecute() non so perchè ma funziona... Quindi questa è risolta... rimane invece aperta la questione della Inputbox. (Fate riferimento alla mia precedente...) ciao Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Scusatemi... ma in questi giorni sono abbastanza fuori per cantieri...
Rientrando ho fatto un po' fatica a seguire tutte le novità!
Innanzi tutto ho scaricato le 27000 ricette... sto provando il
"codice"... mi ci vorrà un momento... vi faro sapere...
(...ma posso anticiparvi che che son riuscito a "far girare" con
soddisfazione un "continental 2") sia sotto win che sotto linux, anche
su ver. di OO anteriori alla 2... )
martello ha scritto:
In realtà il problema è ancora più semplice
Prova a modifica il codice di perbart in questo modo
Public Dlg2 as Object
sub dialogo2
DialogLibraries.LoadLibrary("Standard")
Dlg2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
Dlg2.execute()
scelta<-- istruzione
aggiunta
Dlg2.dispose()
end sub
'**
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub
Il valore dei controlli è ancora disponibile dopo Dlg2.execute() e prima
di Dlg2.dispose().
Più facile di così.
Si Ezio! E' veramente Facile! Grazie!
Per iniziare proprio questo mi serviva...
Ho provato ad aggiungere un pulsante "OK! Prosegui..."
associando l'evento "mouse rilasciato" al codice:
sub dialogo_chiudi
Dlg2.dispose()
end sub
e regolarmente OO va in crash!
Invece, riguardo alle inputbox, forse mi servono proprio queste... ma
non avevo spinto perché mi sembrava che intrudurle subito potesse
rendirmi più complicata la comprensione dei concetti base!
In realtà dovrei far effettuare una scelta del tipo:
"Quale carattere è utilizzato come separatore decimale?"
PUNTO VIRGOLA
Ovviamente la spunta su una dovrebbe escludere l'altra... non solo nel
valore della variabile finale... ma anche visivamente, cioè la selezione
su una dovrebbe deselezionare l'altra... ma temo mi stia sfuggendo
qualcosa...
grazie a tutti
ciao
Bart
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Sarei tentato di scaricarle per mia moglie che è sempre in giro per
internet
alla ricerca di qualche ricetta nuova, ma corro il rischio di doverle
collaudare tutte
Non preoccuparti ... qualcuna dovrebbe essere doppia ...
Si può intercettare, la crocetta equivale alla pressione di un pulsante di
tipo annulla, cioè ritorna uno 0
In realtà il problema è ancora più semplice
Prova a modifica il codice di perbart in questo modo
Public Dlg2 as Object
sub dialogo2
DialogLibraries.LoadLibrary("Standard")
Dlg2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
Dlg2.execute()
scelta<-- istruzione
aggiunta
Dlg2.dispose()
end sub
'**
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub
Il valore dei controlli è ancora disponibile dopo Dlg2.execute() e prima di
Dlg2.dispose().
Più facile di così.
Ciao Ezio
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
martello ha scritto: > Se vuoi ci sono 27000 ricette in OO Sarei tentato di scaricarle per mia moglie che è sempre in giro per internet alla ricerca di qualche ricetta nuova, ma corro il rischio di doverle collaudare tutte > Questo ha scritto nel titolo ... dal testo non sembrava che fosse così > importante. Penso di si, credo che abbia da scegliere fra due opzioni o l' una o l' altra > Ho appena provato e in realtà all'apertura del dialogo nessun OptionButton > è selezionato (strano). Anche a me rimangono tutti deselezionati, mi sto chiedendo se tutte le volte che ho fatto un gruppo di questi bottoni ne ho selezionato uno dalle proprietà inconsciamente, sono andato a controllare e in ogni gruppo ce ne uno attivo, ma impostato come tale dalle proprietà Comunque meglio così, almeno uno deve essere cliccato >... cosa avviene se l'utonto invece di > usare il pulsante predisposto chiude con la crocetta in alto a destra? > Non ne sono sicuro ma non mi sembra che si possa intercettare l'evento ... > o si? Si può intercettare, la crocetta equivale alla pressione di un pulsante di tipo annulla, cioè ritorna uno 0 Se apri un dialogo così iTest = Dlg2.Execute puoi intercettarne la chiusura con la crocetta o con un pulsante annulla così If iTest = 0 Then codice End If A titolo informativo un pulsante di tipo ok ritorna 1 Ciao Lido - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Scusami se mi sono permesso di scaricare perbart.zip Prego ... Puoi scaricare ciò che vuoi ... non per nulla è pubblico. Se vuoi ci sono 27000 ricette in OO, un applicativo per fare questionari in OO, e un applicativo per i computi metrici. Ho notato che continui ad utilizzare i CheckBox, mi sembra che Bart fosse interessato agli OptionButton, poco male basta cambiarlo Questo ha scritto nel titolo ... dal testo non sembrava che fosse così importante. All' apertura del dialogo si presenta questa situazione: - le variabili A e B sono a 0 (zero) - uno dei due OptionButton è selezionato Basta preimpostrae le variabili esattamente come si presentano gli OptionButton per default e il problema è risolto. Ho appena provato e in realtà all'apertura del dialogo nessun OptionButton è selezionato (strano). A questo punto il problema è di programmazione, cioè quando si imposta a 1 (uno) la variabile che rappresenta l' OptionButton selezionato si deve anche impostare a 0 (zero) l' altra variabile, altrimenti si corre il rischio di trovarsi le due variabili impostate a 1 E se ce ne sono più di due si deve fare una "spazzolata" su tutte per impostarle 0 Ovvio ... Detto questo, è un' opinione personale intendiamoci, per me è più pratico usare un' unica sub che viene lanciata con un pulsante (quello per chiudere il dialogo) la quale provvede a testare i vari bottoni e ad impostare a 1 la variabile ad esso associata Questo è il motivo della mia scelta ... cosa avviene se l'utonto invece di usare il pulsante predisposto chiude con la crocetta in alto a destra? Non ne sono sicuro ma non mi sembra che si possa intercettare l'evento ... o si? Ciao Ezio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
martello ha scritto: > > Mi daresti una riga buona per: > > Questa mattina mi sentivo buono ... e così ti ho fatto un esempio completo > ... semplice semplice. > Scarica dal link che ho già inserito "perbart.zip". Scusami se mi sono permesso di scaricare perbart.zip Ho notato che continui ad utilizzare i CheckBox, mi sembra che Bart fosse interessato agli OptionButton, poco male basta cambiarlo Comunque volevo farvi notare alcuni problemi a cui si può andare incontro se si rileva lo stato degli OptionButton con un listener o con una macro associata all' evento "stato modificato" nelle proprietà Prendiamo un semplice dialogo con due OptionButton, per semplificare OB1 e OB2, che modificano due variabili, sempre per semplificare A e B All' apertura del dialogo si presenta questa situazione: - le variabili A e B sono a 0 (zero) - uno dei due OptionButton è selezionato Supponiamo che sia selezionato OB1 e che l' utonto volesse, appunto, selezionare OB1, a questo punto preme OK per andare avanti senza fare altro e qui c' è l' intoppo( le due variabili sono a 0) Per cambiare il valore della variabile associato a OB1 avrebbe dovuto cliccarci sopra per far "agire" il listener o la sub assegnata allo "stato modificato" Ma quanti utonti, pensate, possano selezionare un OptionButton già selezionato, tonti va bene, ma non fino a questo punto Altro problema Prendiamo sempre il nostro caro utonto che clicca su un' opzione, poi ci ripensa e clicca sull' altra A questo punto il problema è di programmazione, cioè quando si imposta a 1 (uno) la variabile che rappresenta l' OptionButton selezionato si deve anche impostare a 0 (zero) l' altra variabile, altrimenti si corre il rischio di trovarsi le due variabili impostate a 1 E se ce ne sono più di due si deve fare una "spazzolata" su tutte per impostarle 0 Detto questo, è un' opinione personale intendiamoci, per me è più pratico usare un' unica sub che viene lanciata con un pulsante (quello per chiudere il dialogo) la quale provvede a testare i vari bottoni e ad impostare a 1 la variabile ad esso associata Termino qui Ciao Lido - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Mi daresti una riga buona per: Questa mattina mi sentivo buono ... e così ti ho fatto un esempio completo ... semplice semplice. Scarica dal link che ho già inserito "perbart.zip". Ciao - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Se vuoi ho un esempio completo già fatto. Però c'è tanta roba in più di quello che serve. Quindi è più difficile da capire. Semplicemente perchè per provare ad aiutarti ho modificato una cosa che già avevo ... per fare meno fatica. la trovi qui http://mio.discoremoto.alice.it/martellofiles/ scarica "copia di test" e dalla prima tabella premi sul pulsante "modifica/inserimento domande". Troverai CheckBox1 inserito per prova. Ciao Ezio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Mi daresti una riga buona per:
Dlg2 =
Una cosa del genere ad esempio:
Public Dlg2 as Object
sub dialogo2
DialogLibraries.LoadLibrary("Standard")
Dlg2=CreateUnoDialog(DialogLibraries.Standard.Dialog2)
Dlg2.execute()
Dlg2.dispose()
end sub
Beh ovviamente devi fare partire "sub dialogo2" in qualche modo.
E poi deve esistere "Dialog2" con tutti i controlli che vuoi ed in
particolare il CheckBox1.
Ciao Ezio
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
martello ha scritto:
Ciao Bart
Ciao Ezio :-)
Eccomi già al primo intoppo! :-)
Ho letto il codice di Marco... ma i listeners mi fanno prudere più delle
zanzare...
Allora ho umilmente ripiegato sul tuo codice... sembrava semplice... :-)
ma...
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub
Mi daresti una riga buona per:
Dlg2 =
grazie
Bart
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
martello ha scritto:
Ciao Bart
Ciao Ezio :-)
Eccomi già al primo intoppo! :-)
Ho letto il codice di Marco... ma i listeners mi fanno prudere più delle
zanzare...
Allora ho umilmente ripiegato sul tuo codice... sembrava semplice... :-)
ma...
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub
Mi daresti una riga buona per:
Dlg2 =
grazie
Bart
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Lido Bernardini ha scritto: Bart Aimar ha scritto: Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi! Noto con piacere che con i dialoghi hai avuto più fortuna Si! Vedo solo adesso le numerose risposte e ringrazio tutti! In realtà non mi volevo spingere a creare un dialogo via macro... ma la cosa mi ha incuriosito... e potrebbe aprire qualche ozione interessante! (Il mio livello di conoscenza dei dialoghi è pressochè zero...) Domandina: Tu di cosa hai bisogno di un CheckBox o di un OptionButton? Al momento OptionButton... le CheckBox mi saranno utili in altre occasioni! Dovrei aprire un dialogo per scegliere fra virgola o punto... ovvero definire il separatore decimale per l'ormai famosa macro che_digerisce_quasi_tutto... :-) Grazie Lido per le precisazioni e ancora grazie a tutti per l'aiuto! Mi farò vivo al primo intoppo! Bart - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar ha scritto: > Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi! Noto con piacere che con i dialoghi hai avuto più fortuna Però ti sono stati proposti sia OptionButton che CheckBox che sono due cose ben diverse Di CheckBox, in un dialogo, ne puoi mettere quanti ti pare e possono essere selezionati da uno a tutti oppure anche tutti deselezionati Anche di OptionButton, o RadioButton( dai pulsanti delle vecchie radio che si escludevano a vicenda), se ne possono mettere a volontà ma sarà sempre uno soltanto ad essere selezionato, perchè la selezione di uno deseleziona il precedente, non solo, uno è sempre selezionato a differenza dei CheckBox che possono anche essere tutti deselezionati Domandina: Tu di cosa hai bisogno di un CheckBox o di un OptionButton? Ciao a tutti Lido - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi!
Ho creato un dialogo e su qul dialogo vorrei banalmente inserire un tasto
di scelta (o qualcosa del genere)... ovvero un coso da spuntare per avere
un valore 0 oppure 1 che, ovviamente, vorrei poi registrare in una
variabile alla chiusura del dialogo!
Qualcuno sa indicarmi dove vedere qualche esempio semplice?
Ciao Bart
Io farei così:
Sub scelta
Ctl=Dlg2.getControl("CheckBox1")
a=Ctl.State
print a
End Sub
Dove Dlg2 è l'oggetto dialogo e "sub scelta" viene lanciata a seguito
dell'evento "stato modificato" (alla faccia delle traduzioni).
In pratica ogni volta che modifichi il checkbox1 la sub scelta viene fatta
partire e del valore ne fai ciò che vuoi.
In questo caso viene solo stampato.
Ezio
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Marco Caresia wrote:
Intendi un CheckBox?
Ok, non avevo capito.
Ho fatto una prova. Però non ho capito perché funziona ;)
Dim oDialog1
Sub Main
' creo il dialogo
oDlgModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
With oDlgModel
.PositionX = 100 : .PositionY = 10
.Width = 150 : .Height = 200
End With
' aggiungo 3 option button
oControl1 =
oDlgModel.CreateInstance("com.sun.star.awt.UnoControlRadioButtonModel")
With oControl1
.Name="Radio1" : .Label="Radio1"
.Height = 30:.Width = 30
.PositionX = 10:.PositionY = 10
End With
oControl2 =
oDlgModel.CreateInstance("com.sun.star.awt.UnoControlRadioButtonModel")
With oControl2
.Name="Radio2" : .Label="Radio2"
.Height = 30:.Width = 30
.PositionX = 10:.PositionY = 50
End With
oControl3 =
oDlgModel.CreateInstance("com.sun.star.awt.UnoControlRadioButtonModel")
With oControl3
.Name="Radio3" : .Label="Radio3"
.Height = 30:.Width = 30
.PositionX = 10:.PositionY = 90
End With
oDlgModel.insertByName("Radio1", oControl1)
oDlgModel.insertByName("Radio2", oControl2)
oDlgModel.insertByName("Radio3", oControl3)
' Ci metto un OK
oOK = oDlgModel.createInstance(
"com.sun.star.awt.UnoControlButtonModel" )
' Initialize the button model's properties.
With oOK
.PositionX = 60:.PositionY = 130
.Width = 30 :.Height = 30
.Name = "OK" : .Label = "OK"
End With
oDlgModel.insertByName("OK", oOK)
oDialog1 = CreateUnoService("com.sun.star.awt.UnoControlDialog")
oDialog1.setModel(oDlgModel)
oActionListener = CreateUnoListener("oOK_",_
"com.sun.star.awt.XActionListener" )
oDialog1.getControl("OK").addActionListener( oActionListener )
Dim oWindow
oWindow = CreateUnoService("com.sun.star.awt.Toolkit")
oDialog1.createPeer(oWindow, null)
oDialog1.execute()
End Sub
Sub oOK_actionPerformed( oEvent )
sStato1 = "Radio1: " & oDialog1.getControl("Radio1").State & CHR$(13)
sStato2 = "Radio2: " & oDialog1.getControl("Radio2").State & CHR$(13)
sStato3 = "Radio3: " & oDialog1.getControl("Radio3").State
Msgbox sStato1 & sStato2 & sStato3
End Sub
--
MC
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar wrote: Con i loop e gli arrai è andata male... :-) riprovo con i dialoghi! Ho creato un dialogo e su qul dialogo vorrei banalmente inserire un tasto di scelta (o qualcosa del genere)... ovvero un coso da spuntare per avere un valore 0 oppure 1 che, ovviamente, vorrei poi registrare in una variabile alla chiusura del dialogo! Qualcuno sa indicarmi dove vedere qualche esempio semplice? Dalla Develomper guide Pag. 777 : Option Button Function IsChecked( oOptionButtonModel As Object ) As Boolean Dim bChecked As Boolean If oOptionButtonModel.State = 1 Then bChecked = True Else bChecked = False End If IsChecked = bChecked End Function Il risultato vero o falso te lo salvi dove vuoi. Ciao Napo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [dev-it] Dialoghi: OptionButton
Bart Aimar wrote: Qualcuno sa indicarmi dove vedere qualche esempio semplice? Intendi un CheckBox? Guarderei i lavori di Danny Brewer: http://www.oooforum.org/forum/viewtopic.phtml?t=3130 http://kosh.datateam.com/~danny/OOo/ Ciao, -- MC - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
