Tab Control

Question: Ho messo nella form 30 (item) una nuova voce di tab, che contiene una subform. Da allora tutte le volte che si accede a questa form, si posiziona su questa nuova tab. Come posso fare affinchè quando si apre questa form, si posizioni sulla tab “generale” ? Come mai non viene memorizzato nello zup l’ultimo posizionamento? Grazie a tutti. Gianni

Dimenticavo: 1) non funziona il “ActiveControlOnOpen”; 2) non funziona il mettere “currform.controllosullaprimatab.activate” nell’OnOpenForm … Gianni

Gianni scusa, ma hai aggiunto una nuova pagina al tabcontrol o hai aggiunto un tabcontrol sopra quello che già c’era? Anche perché, normalmente, quando chiudi una scheda su di una pagina, quando la riapri trovi attiva quella pagina e quel controllo su cui ti sei posizionato l’ultima volta, a meno che tu non abbia cambiato le proprietà sulla form SaveControlInfo = no. Di più non so dirti, ma potrebbe anche essere che il parent della tua griglia non sia il tabcontrol e per cui te lo trovi sempre in primo piano.

Credo sia un problema di ID dell’oggetto prova a dargli un id Maggiore di un altro oggetto appartenente alla form.

Allora, innanzitutto grazie davvero per avermi risposto. Dunque, per Domenico: ho aggiunto una pagina, non ho aggiunto una tabcontrol; stiamo parlando della form 30 (item). Per Vescovo: vuoi dire che devo dare un ID maggiore alla subform della pagina “incriminata”? La subform contenuta nella pagina della tab sulla quale si apre sempre la form, ha un id altissimo; o invece volevi dire che dovevo assegnare un id più alto ad un controllo qualsiasi della prima pagina della tab, ovvero quella su cui vorrei si aprisse (per intenderci, la pag. “generale”)? Nelle sezioni non italiane ho trovato moltissime domande su quest’argomento. Risposte anche, ma non risolutive, tranne una che afferma che la tabcontrol è un UNICO controllo, quindi non sarebbe possibile comandare un activate su di un controllo specifico all’interno di una pagina specifica di una tabcontrol…

Citazione:

Nelle sezioni non italiane ho trovato moltissime domande su quest’argomento. Risposte anche, ma non risolutive, tranne una che afferma che la tabcontrol è un UNICO controllo, quindi non sarebbe possibile comandare un activate su di un controllo specifico all’interno di una pagina specifica di una tabcontrol…
Originariamente inviato da gianus - 2004 Nov 12 : 15:28:50

Uhum… questo non mi sembra mica tanto giusto! Una tab control ha un proprio ID e delle proprietà, ma i controlli al suo interno hanno a loro volta il proprio ID e le loro proprietà. Fra queste, c’è il ParentControl che deve essere uguale all’ID della tab o all’ID di un altro controllo nella tab il cui ParentControl è uguale all’ID (mettercene due poteva fargli male!). ACTIVATECONTROL funziona anche sui singoli campi di un TAB, almeno sui controlli di tipo TextBox. Con un SubForm non ho mai provato. Hai controllato il parent del controllo SubForm, come qualcuno suggeriva? Anche a me sembra il principale indiziato. Soprattutto perche’ l’editor delle form non funziona proprio benissimo quando si tratta di lavorare su controlli all’interno di tab o frame. Anna

Ehilà. Ho trovato altre decine di posts su quest’argomento! cmq, x Anna: purtroppo il parent è giusto, ma vado subito a provare queste due soluzioni: Hi, The reason of your problem is the fact that the subform is editable. I have the same problem and here is the solution I put the propertie’s subform editable no And i put this code on the subform (in the form) OnActivate() CurrForm.SubformX.EDITABLE(TRUE); OnDeactivate() CurrForm.SubformX.EDITABLE(FALSE); And so no problem Bye Marvax ------------------------- Also, if you set the Subform’s DelayedInsert property to Yes, this issue will go away. Look at Forms 43 Sales Invoice and 47 Sales Invoice Subform. Nelson Alberto -------------------------- Provo e vi so poi dire Ciao

Fantastico: la prima soluzione FUNZIONA a patto che nella pagina della tabcontrol incriminata ci sia SOLO UNA subform; Provo anche la seconda.

Scusate se ho fatto un tot di posts… La seconda soluzione funziona perfettamente, elimina la necessità di scrivere codice nella form, e consente anche più di una subform nella stessa pagina della tabcontrol. Ottimo. Controindicazioni nascoste? Grazie di nuovo a tutti.