Newsgroup: it.comp.appl.access
Titolo: Ancorare un maschera Popup ad un controllo

Una volta tanto scrivo per dare un suggerimento anzichè per chiedere.
Lo sapete tutti che una maschera popup si apre dove volete voi, nel
computer vostro.
Appena fate girare il programma in un computer con un'altra
definizione, la maschera può aprirsi in un punto non desiderato.
Allora sono arrivato a questa ideona (spero funzioni!):
 
Nella maschera massimizzata ( che chiamo Sacramenti ), dove vado ad
aprire la maschera popup, inserisco un'etichetta nascosta ( che chiamo
Coordinate ), posizionando l'angolo alto a sinistra nel punto dove
voglio che si apra la maschera popup. In apertura della maschera popup
utilizzo il comando:
 
DoCmd.MoveSize Forms![Sacramenti]![Coordinate].Left, Forms!
[Sacramenti]![Coordinate].Top, 13420, 5910
 
(13420 e 5910 sono la larghezza e l'altezza della maschera popup)
 
La posizione Top non sarà esattamente quella del controllo, penso per
il fatto che in visualizzazione struttura l'area della maschera si
abbassa. Quindi il controllo lo dovrete posizionare 1,27 cm più in
basso. Buon sant'Antonio di Padova a tutti! ; )
 


 
 
se imposti la centratura automatica il popup si apre sempre a centro 
schermo indipendentemente dalla risoluzione
 
ciao
BFS


Sì, certo. Il caso che ho esposto riguarda maschere che devono essere
posizionate in un determinato spazio, non al centro.


http://www.lebans.com/openform.htm
 
 
@Alex


Ho letto anch'io quella procedura, ma sono 300 righe di programma.
Quella che ho suggerito ne utilizza una. Mi sembrava una bella
differenza, no?  ; )


Quella che hai proposto tu è molto LIMITATA ... nel senso che devi
tutte le volte che serve attuarla modificare le COORDINATE... cosa
decisamente assurda dal punto di vista di chi sviluppa.
Non parliamo poi dell'eventualità che l'utilizzatore del SW abbia una
risoluzione del Monitor differente...
 
Quindi tutto sta a vedere se scrivi un'applicativo per casa tua o per
degli Utenti esterni.
La tua soluzione non è pensabile di usarla in applicativi da
distribuire, a mio avviso.
 
Ovviamente poi ognuno la vede come vuole, e quelle 300righe di codice
peraltro sono molto semplici da comprendere, ed il tuo DB non è che
con 300righe pesa KG in più...
 
@Alex


Scusa Alex, Guarda che non devo affatto riscrivere le coordinate.
Coordinate è il nome che ho dato all'etichetta. Riscrivo il codice in
modo più comprensibile:
 
DoCmd.MoveSize Forms![Nome_Maschera_di_Sottofondo]!
[Nome_Etichetta_sulla_Maschera_di_Sottofondo].Left, Forms!
[Nome_Maschera_di_Sottofondo]!
[Nome_Etichetta_sulla_Maschera_di_Sottofondo].Top, 13420, 5910
 
Quando apri la maschera popup, questa si posiziona sopra l'etichetta
della maschera di sottofondo.
Qual'è il problema?


Fai una prova con la form principale POPUP, e dimmi dove si posiziona
la tua Form da aprire allineata...
 
 
@Alex

...
Dimenticavo.... prova a cambiare le altezze di Intestazione/
PièDiPagina di Pagina... anche con Maschera non Popuo e dimmi dove si
posiziona ....
 
@Alex


Hai ragione. Ho provato ad aprire la Popup su un full hd,
e la apre più in alto rispetto all'etichetta che ho messo nella
maschera massimizzata,
mentre con la funzione del sito linkato, funziona. Peccato, speravo di
aver avuto un'ideona!
Anche se mi piacerebbe capire perché non funziona...

 Anche se mi piacerebbe capire perché non funziona...
 
E' ovvio, le Maschere POPUP rispondo a posizioni ASSOLUTE o relative
al DESK e non relative alla MDI_CLIENT, mentre nel tuo esempio(ed è il
motivo dela mia osservazione)
questo non è contemplato, avrai problemi anche con le dimensioni delle
INTESTAZIONI PIEdiPagina...!!
 
La soluzione di Lebans invece funziona in quanto a prescindere si va a
calcolare le posizioni Relative in modo indipendente, cioè
differenziando in caso di Popup o meno, e non solo si calcola
le altezze i Header ed eventualmente Footer, il tutto in PIXELS,
perchè il Sistema Operativo funziona in PIXELS, mentre Access in
TWIPS.
 
Come ho detto all'inizio, se la usi nel tuo PC di casa la tua è una
soluzione di tutto rispetto, anche se non è considerabile
un'ideona.... credo sia una soluzione normale che in molti hanno
valutato.
 
Ciao
@Alex


Il problema di ancoraggio, è lo stesso anche per maschere non Popup?

 Il problema di ancoraggio, è lo stesso anche per maschere non Popup?
 
Insomma quel metodo non va bene se non gestito sulla SINGOLA esigenza.
 
@Alex