Newsgroup: it.comp.appl.access
Titolo: posizionare una form esattamente in quella posizione

qualcuno sa come si fà? ho provato con le propiretà left e top
anche griX egridY ma nulla
 
vorrei aprire una form e posizionare questa form sotto un etichetta di un altra form
 
esempio
apro la form da posizionare poi
form![nome].top=forms![altraform]![etichetta].top + forms![altraform]![etichetta].height
 
form![nome].left=forms![altraform]![etichetta].left
 
possibile?
 

 qualcuno sa come si fà? ho provato con le propiretà left e topanche griX egridY ma nullavorrei aprire una form e posizionare questa form sotto un etichetta di un altra formesempioapro la form da posizionare poiform![nome].top=forms![altraform]![etichetta].top + forms![altraform]![etichetta].heightform![nome].left=forms![altraform]![etichetta].leftpossibile?
 
Certo che è possibile... ma complicato assai.
Servono le Api e discriminare se la form è o meno popup.
Da li ricavi in pixels la posizione della form poi ricavi la
 posizione della label, tenendo conto dell'hinterland di form, e
 la converti in pixel e li aggiungi a left e top della form poi
 posizioni la form sempre con le Api.
 
Riassumendo credo sia troppo complicato se non hai conoscenze solide.
 
Vai sul sito di LEBANS e la trovi già fatta per la versione 32bit.
 
Auguri per la conversione o adattabilità al 64.
-- 
@Alex
 
 
----Android NewsGroup Reader----
https://piaohong.s3-us-west-2.amazonaws.com/usenet/index.html
 


insomma access a dei bei limiti, sentivo dire che la Microsoft voleva abbandonarlo come applicativo ma poi causa lamentele degli utenti hanno continuato a svilupparlo
 
Grazie per la segnalazione

Il giorno sabato 19 dicembre 2020 alle 08:34:56 UTC+1 @Alex ha scritto:

Mi sai indicare qual'è l'esempio?

 Riassumendo credo sia troppo complicato se non hai conoscenze solide. 
 
In questo caso mi pare fattibile in puro Access: puoi ricavare il Left + Top di "AltraForm" e il Top + Height della label in "AltraForm", il tutto in twips.
Con Docmd.MoveSize  (o Move e basta) posizioni la Form nelle nuove coordinate calcolate.
 
 
 
 
 


interessante, provo subito, grazie.

In questo caso mi pare fattibile in puro Access: puoi ricavare il
 Left + Top di "AltraForm" e il Top + Height della label in
 "AltraForm", il tutto in twips.Con Docmd.MoveSize  (o Move e
 basta) posizioni la Form nelle nuove coordinate calcolate.
 
Secondo me... soprattutto se la Form da aprire è popup come ti
 dicevo... che ha riferimenti completamente distinti dalla
 precedente la possibilità di avere risultati deludenti è
 alta.
Però se il risultato soddisfa la specifica esigenza... vale la
 pena provare.


Insomma access a dei bei limiti, sentivo dire che la Microsoft
 voleva abbandonarlo come applicativo ma poi causa lamentele degli
 utenti hanno continuato a svilupparloGrazie per la
 segnalazione
 
 
Non è Access che ha dei limiti... ma chi lo usa...


 pena provare.
 
 
Stiamo a vedere cosa ne pensa tmtu; se non ha esigenze particolari è una buona soluzione.
Tieni  conto che ai tempi in cui Lebans era attivo su Access probabilmente circolavano versioni <=97 che non supportavano Frm.WindowTop/Left, quindi non esistevano alternative alle API, anche nei casi più ordinari.
 


Alex non raccolgo la provocazione, sei intelligente solo tu, fortunato.

Il giorno sabato 19 dicembre 2020 alle 18:42:31 UTC+1 Simone Calligaris ha scritto:

grandissimo calligaris fa esattamente quel che mi serviva ovvero posizionare una form a delle coordinate ben precise, era un mio limite non conoscevo il comando movesize e il forum è stato utile per portarmi subito sulla strada giusta anzichè polemizzare, che è un pò il senso del newsgroup, altrimenti compriamoci tutti un bel manuale da 1000 pagine "access for dummies" e a quel punto chiudiamo il gruppo che non ha più senso di esistere, avevo cercato anche in google prima di chiedere qui ma non ho trovato nulla di interessante, avevo cercato "cambio posizione form access" e cose simili senza risultati
 
spero sia chiaro anche ai polemici.
 
Grazie ancora.

Stiamo a vedere cosa ne pensa tmtu; se non ha esigenze particolari
 è una buona soluzione.Tieni  conto che ai tempi in cui Lebans era
 attivo su Access probabilmente circolavano versioni <=97 che non
 supportavano Frm.WindowTop/Left, quindi non esistevano
 alternative alle API, anche nei casi più ordinari.
 
Si giusto, pensavo tuttavia, che quando si apre una form in quel
 modo fosse abbastanza scontato aprirla in modalita sincrona...
 altrimenti spostando il focus sparisce... :-)
 
Ma ovviamente... 


Alex non raccolgo la provocazione, sei intelligente solo tu, fortunato.
 
Non era una provocazione... siccome usi access e ne parli
 continuamente male... voglio solo toglierti i dubbi sul prodotto
 che non ne ha colpa.


 Ma ovviamente...
 
 
Mhmmm sì, ipotizziamo:
 
Maschera1 con Label "bersaglio"
Maschera2 di tipo Popup da aprire sotto Label di Maschera1
 
Su click di qualche cosa su Maschera1:
 
DoCmd.OpenForm "Maschera2" 
DoCmd.MoveSize Me.WindowLeft + Me!Label.Left, Me.WindowTop + Me!Label.Top + Me!Label.Height + Costante
 
"Costante" serve sempre, anche se Maschera2 non Popup: va impostata con l'altezza in twip del bordo Finestra Maschera2.
Se invece, come ipotizzato, Maschera2 è di tipo Popup basta aumentare il necessario il valore di "Costante".
Chiaramente è una soluzione più artigianale rispetto a quella "Lebans" ma è assai semplice e alla fine fa il suo.
 
 
 


Ti sbagli per me Access è un ottimo software!
Ma se per spostare una form dove voglio io devo utilizzare chissa quali librerie  e "auguri per la 64 bit" allora viene spontaneo quanto da me dichiarato.
 

Chiaramente è una soluzione più artigianale rispetto a quella
 "Lebans" ma è assai semplice e alla fine fa il suo.
 
Si si pernuso casalingo... forse serve un offset in x anche...?
 risoluzione costante a parte...
 
Certo che se distribuisci una cosa simile... mmm non ci credo
 nemmeno se vedo...
;-)


 nemmeno se vedo... 
 
Premesso che vado alla cieca, non avendo Access installato su questo PC, ritengo potabile la soluzione proposta.
 
Tra l'altro se Maschera2 non Popup, probabilmente si può eliminare "Costante" in questo modo:
DoCmd.MoveSize Me.WindowLeft + Me!Label.Left, Me.WindowTop + Me!Label.Top + Me!Label.Height + (Me.WindowHeight - Me.InsideHeight) 
 
Diversamente, se Popup, basta impostare "Costante" con un margine di sicurezza per la risoluzione variabile (si fissa il valore testando a bassa risoluzione).
Tale valore, quando l'applicativo gira a risoluzioni maggiori farà aprire Maschera2 a una certa distanza verticale da Label, ma il risultato dovrebbe cmq essere congruo alle aspettative.
Domani farò qualche prova, ma sono ottimista.
 
Saluti
 
 

Simone Calligaris 
....
Domani farò qualche prova, ma sono ottimista.Saluti
 
Se non ci sono variabilità di alcun tipo e la installi nel tuo PC
 concordo con te.
Se serve tener conto di varie opzioni, non ultima le varie
 risoluzioni.che ogni utente può gestirsi, resto dell'idea che
 richieda troppi accrocchi.


 richieda troppi accrocchi.
 
Mah, vediamo cosa ne pensa tmtu, personalmente la ritengo soluzione accettabile.
E, credo, gestibile come ho suggerito a risoluzioni variabili.
 
Saluti

E, credo, gestibile come ho >suggerito a risoluzioni variabili.Saluti
 
Ottimo, non perdere tempo con prove.


 @Alex 
 
Dimenticavo, se la Form2 è Popup non basta usareg li Offset... devi trasferire il codice nella Form Chiamata(Form2) per il resto...
 
@Alex

Il 19/12/2020 13:07, mario rossi ha scritto:
"sentivo dire che la Microsoft voleva abbandonarlo come applicativo "
 
 
dove l'hai sentito ?
BFS
 
 

 Dimenticavo, se la Form2 è Popup non basta usareg li Offset... devi trasferire il codice nella Form Chiamata(Form2) per il resto... 
 
Non ti seguo ... popup è diverso da AcDialog.
 
Saluti
 
 
 

Simone Calligaris
... Non ti seguo ... popup è diverso da AcDialog.Saluti
 
Scusa Simone intendevo Modale ovviamente...
 
Se la form si apre in quel modo, solitamente è per selezionare
 qualche cosa o segnalare... 9 su 10 è modale(acDialog) oltre che
 Popup che la svincola dalla MDI rendendola assoluta alla
 risoluzione appunto.
Di conseguenza il codice va posizionato nella form2, ma cambia poco.
Sono considerazioni ovviamente di contesto.
 
Come dicevo, ma possiamo parlarne anche per giorni... se
 l'esigenza è confinata ad uso specifico puo andare.
Io non lo userei perché ha troppi limiti... non ultimo il dual
 monitor... ovviamente di pippe ce ne sono tante volendo io
 preferisco fare una cosa che copra più casistiche possibili ma è
 evidente che tutto si deve proporzionare.
 
Ciao


 Sono considerazioni ovviamente di contesto. 
 
A me è rimasta la curiosità sulle caratteristiche di Maschera2 nell'applicazione di tmtu, ma è sparito dal thread come un latitante!  ;-)