Newsgroup: it.comp.appl.access
Titolo: Trovata soluzione Sfondo Applicazione, puo esservi utile?

Salve a tutti questa è la prima volta che do il mio contributo per dare un
aiuto agli altri della community.
Per chi volesse inserire uno sfondo alla propria applicazione di Access
utilizzando una maschera come contenitore dell'immagine di sfondo, può
procedere cosi:
1)Creare una maschera chiamata per esempio "fr_Sfondo" ed inserire
attraverso le proprietà della stessa, l'immagine desiderata che farà da
sfondo.
poi nell'evento su Apertura della "fr_Sfondo" inserite queste routine:
che servono ad evitare che cliccando inavvertitamente sullo sfondo vengano
poi nascoste le altre maschere aperte.
(questo codice non è di mia creazione ma è stato estrapolato dalla FAQ su
wwww.sitocomune.com
, cioè:
3.9 "Creare uno sfondo per l'applicazione" di AntoGal, che ringrazio)
*********************************************************************
Private Sub Corpo_Click()
   'evita che un clic nasconda tutte le altre maschere, passando il
controllo ad un'altra finestra
   SendKeys "^{F6}"
End Sub
Private Sub Form_Click()
   SendKeys "^{F6}"
End Sub
Private Sub Form_Open(Cancel As Integer)
   Dim Larghezza, Altezza
   Application.Echo False 'disabilita l'aggiornamento dello schermo per
evitare lo sfarfallio
   DoCmd.Maximize 'ingrandisce alle massime dimensioni
   Larghezza = Me.WindowWidth
   Altezza = Me.WindowHeight
   DoCmd.Restore 'ripristina dimensioni normali
   DoCmd.MoveSize 0, 0, Larghezza, Altezza
   'centra un'etichetta di testo orizzontalmente
   'Me!EtiCopyright.Left = (Larghezza - Me!EtiCopyright.Width)  2
   Application.Echo True 'riabilita aggiornamento
End Sub
***************************************************************************
3)Di solito chi crea un'applicazione +/- complessa crea una maschera che
funge da pannello di controllo da cui richiama le altre maschere o report
ecc...
diciamo quindi di creare un pannello di controllo chiamato
"fr_PannelloDiControllo"
poi nell'evento in Apertura, della  "fr_PannelloDiControllo"  inserite
questo codice che apre la maschera di sfondo:
************************************************************************
Private Sub Form_Open(Cancel As Integer)
DoCmd.OpenForm "fr_Sfondo"
End Sub
************************************************************************
4)Inserite ora come maschera d'Avvio della vs applicazione , la maschera:
"fr_PannelloDiControllo"
5) IL GIOCO E' FATTO !!!!!! PROVATE E VEDRETE, A ME FUNZIONA ALLA GRANDE !!
NOTAZIONE: Qualcuno potrà chiedersi per quale ragione non ho inserito come
maschera d'avvio "fr_Sfondo", ed all'apertura di questa venga richiamato
il "Pannello di Controllo";
bè la riposta sta nel fatto che se faccessi cosi il pannello di controllo
verrebbe nascosto dallo sfondo oppure tutte le maschere che richiami dal
pannello verrebbero nascoste o cmq visualizzate dietro il pannello di
controllo, si potrebbe usare la proprietà POPUP per ovviare al problema ma
è un casino se si hanno molte maschere (come nel mio caso)
Spero che questo contributo possa essere utile agli altri utenti di questo
forum, ancora un grazie per la Faq 3.9 di ANTON GAL pubblicata su
SitoComune.com
Grazie e ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Direi che si potrebbe raffinare la tecnica prendendo spunto da questo 
link 
http://blog.nkadesign.com/2008/ms-access-modal-dialogs-with-transparent-backgrounds/
Restano questi problemi
1) bypassare il click sulla form per evitare che prenda il focus
2) dispendio di risorse RAM specie con alte risoluzioni
3) instabilità quasi certa se l'utente è particolarmente irrequieto con 
mouse e tastiera (specie su pc non recentissimi). Occorre giocoforza 
utilizzare le api e la UI di access poco le digerisce
4) è da non credere che dalla versione 1.0 non abbiamo questa 
possibilità con tutti i temi...
Ciao
-- 
Daniele
Rispondere scartando OneEDP, spam e 32