Italian [B4J]Rilevare ridimensionamento form...

stefanoxjx

Active Member
Licensed User
Ciao a tutti, scrivo qui perchè non mi sembra di aver visto sezioni specifiche per B4J (almeno nella lingua Italiana).
Nel forum in lingua Inglese ho già scritto per un altro problema e quindi cerco di smaltire le mie domande un po' di qua e un po' di la :D
Ho fatto varie ricerche e prove per vedere se si riusciva a catturare l'evento di ridimensionamento del form in modo da ridimensionare tutti gli oggetti interni di conseguenza.
Il risultato è che non ho trovato nulla e mi sembra impossibile che non ci sia un qualcosa di simile a "Sub MainForm_resize"
Sapete se c'è questa possibilità?
Grazie.
Ciao.
 

stefanoxjx

Active Member
Licensed User
Ciao Max,
purtroppo (ma direi anche no) gli oggetti non si autoridimensionano.
Probabilmente c'è modo di farli autoridimensionare collegandoli al Pane, però in alcuni casi, su queste cose
vorrei avere io il controllo diretto.

Stefano
 

stefanoxjx

Active Member
Licensed User
Ho fatto varie ricerche, ma ho trovato sempre mezze risposte e mai una risposta chiara o un esempio pratico :(
 

stefanoxjx

Active Member
Licensed User
Si, l'avevo già visto quel post, in questi due giorni ne ho visti parecchi cercando una soluzione.
Però io vorrei avere il controllo diretto via codice quando si ridimensiona la finestra, mentre quella
soluzione ridimensiona tutto in automatico :(
 

LucaMs

Expert
Licensed User
Purtroppo la documentazione per b4j è scarsina (se esiste!).

Prova ad usare le funzionalità dell'IDE:

scrivi

Sub + spazio e poi tasto Tab.

Da lì potrai vedere tutti gli eventi disponibili per ogni oggetto.

upload_2014-12-23_12-30-21.png
 

LucaMs

Expert
Licensed User
uhm mal di testa solito e maledetto e sono anche sveglio da poco, ma...

se intercetti il ridimensionamento di un altro oggetto, come un Panel? se questo cambia dimensioni, direi che è molto ma molto probabile che le abbia cambiate anche il Form!
 

stefanoxjx

Active Member
Licensed User
Provo a chiedere direttamente a Erel, vediamo cosa mi dice.
Voglio approfondire B4J perchè secondo me è un prodotto interessante, sopratutto per chi come me sviluppa software ogni tanto all'occorrenza.
In più, il fatto che il software generato giri sotto windows, linux e mac senza problemi direi che è proprio quello che cercavo.
 

LucaMs

Expert
Licensed User
In più, il fatto che il software generato giri sotto windows, linux e mac senza problemi direi che è proprio quello che cercavo.
Si, questa è la cosa più interessante.

Chiedi e facci sapere (nei casi in cui in B4A non esista una soluzione diretta, lui usa la Reflection: ma in B4J???).

Cmq, secondo me, se metti un Pane, anche invisibile, solo per questo scopo, ed intercetti il suo evento Resize, puoi considerarlo come il tuo evento Form Resize che non è disponibile ed usare quello.
 

stefanoxjx

Active Member
Licensed User
Cmq, secondo me, se metti un Pane, anche invisibile, solo per questo scopo, ed intercetti il suo evento Resize, puoi considerarlo come il tuo evento Form Resize che non è disponibile ed usare quello.
Questa potrebbe essere una soluzione.
Effettivamente non ci avevo pensato.
Faccio una prova :)
Grazie.
 

stefanoxjx

Active Member
Licensed User
Aaaaaah!!!
Ho chiesto a Erel e mi ha detto di usare una soluzione che avevo già provato:
B4X:
Sub MainForm_Resize (Width As Double, Height As Double)
    ...
End Sub
solo che io non avevo usato i parametri passati alla funzione e infatti non funzionava.
Invece così come riportata sopra funziona alla grande :)
La cosa era abbastanza intuitiva, infatti ci ero arrivato da solo, peccato per quel (Width As Double, Height As Double) che mancava :(
Comunque mi intrippa sempre di più questo B4J.
Da quando ho acquistato la licenza di B4A ho usato sempre e solo B4J :D
Per B4A sto aspettando dei componenti elettronici e non appena arriveranno mi metterò all'opera anche con quello :)
 

LucaMs

Expert
Licensed User
Uhm...

dovrei rivedere come funziona b4j, l'ho abbandonato da un po', ma quel "MainForm"... uhm... e se uno ha più form (cosa normale, direi)?

L'oggetto Form (più genericamente) non ha quell'evento!

upload_2014-12-23_22-0-21.png



[P.S. sono andato a guardare e MainForm non è altro che un nome dato ad un form, quindi quell'evento funzionerà per qualunque form, solo che, stranamente, non è stato inserito nell' "intellisense"]
 

stefanoxjx

Active Member
Licensed User
Ti sei risposto da solo, ti stavo appunto rispondendo la stessa cosa che hai scritto tu con il P.S.
 
Top