Newsgroup: it.comp.appl.access
Titolo: Un problemino su Sfondo Applicazione

Salve a tutti, nel mio database ho le seguenti maschere:
1) fr_Sfondo
2) fr_PannelloComandi
"fr_Sfondo" rappresenta appunto lo sfondo del database che si apre
all'avvio del database; 
in automatico, dopo l'apertura di fr_Sfonfo, si apre la
"fr_PannelloComandi"
Il problema è che "fr_PannelloComandi" non è visibile ma si riduce ad
icona sulla barra degli strumenti di Windows.
Come posso fare in modo che mi renda visibile ed attiva quest'ultima?
Premetto che adattando un esempio di sitocomune ho proceduto in questa
maniera: In questi tre eventi di "fr_Sfondo"
************************************************************************
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
   Application.Echo True 'riabilita aggiornamento
DoCmd.OpenForm "fr_PannelloComandi"
End Sub
************************************************************************
ma mi rimane il problema che mi rimane a mo di icona la
"fr_PannelloComandi"
Mi date una dritta?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Mi date una dritta?
Ho fatto una prova creando le due maschere e mettendo nella fr_Sfondo
il codice che hai dato. L'altra maschera non mi si iconizza, ma rimane
dietro la maschera chiamante. Inutile l'aggiunta di un
comando .Setfocus nel codice, ho ottenuto di averla in primo piano
mettendo a Sì la proprietà PopUp.
Riccardo Baldinotti

Riccardo Baldinotti ha scritto:


E lo so fatto anche io ma poi mi rimane sempre in primo piano quindi mi fa
comparire tutte le maschere che lancio di pulsanti del PannelloComandi
dietro quest'ultimo



Hmmm... metterle tutte con PopUp?
Preciso che anche io sto sperimentando, quindi spero a mia volta in
una dritta che sia "più dritta" delle mie.
Riccardo Baldinotti

Riccardo Baldinotti ha scritto:

Be si ma ho molte maschere su cui agire e sinceramente non ho voglia di
strmele a modificare una per una :-))))


Riccardo Baldinotti ha scritto:

Be si ma ho molte maschere su cui agire e sinceramente non ho voglia di
strmele a modificare una per una :-))))
-- 



Dunque, ho rinunciato all'idea PopUp.
Ho fatto una macro, l'ho chiamata autoexec in modo che sia avviata
all'apertura del db, e dentro ho messo due azioni ApriMaschera, la
prima delle quali apre Sfondo e la seconda Pannello. Tutto funzia.
Ho anche provato da Pannello a cliccare su un pulsante per aprire
un'altra Maschera1, da questa cliccare per riaprire Pannello; ho
provato a non far chiudere Pannello quando apro Maschera1, poi a
richiudere quest'ultima... sembra che ci siamo.
Naturalmente non ho immaginato tutte le possibili combinazioni di
clicca-e-premi che l'utente può sognare.
Per esempio, un doppio click su Sfondo attiva proprio Sfondo:
quantomeno la SendKeys "^{F6}"  andrà aggiunta anche a questo evento.
Siccome mi hai suggerito un modo di modificare una mia applicazione,
che prima trattavo con i consigli di 
www.donkarl.com
 "1.11 Nascondere
la finestra principale di Access", credo che sottoporrò la soluzione a
prove dal vivo.
Riccardo Baldinotti

 Mi date una dritta?
In Strumenti-->Opzioni-->Visualizzazioni, è tolto il flag sulla voce
"Icone sulla barra delle Applicazioni"?
--
sv


 strmele a modificare una per una :-))))
Se è per questo... in un modulo scrivi quanto segue:
Sub masch()
    Dim obj As AccessObject, dbs As Object, Nome As String
    Set dbs = Application.CurrentProject
    For Each obj In dbs.AllForms
    Nome = obj.Name
    DoCmd.OpenForm Nome, acDesign
'    Forms(Nome).AllowDesignChanges = False
'    Forms(Nome).ShortcutMenu = False
'    Forms(Nome).MinMaxButtons = False
'    Forms(Nome).CloseButton = False
'    Forms(Nome).ControlBox = True
'    Forms(Nome).MinMaxButtons = 0
    Forms(Nome).PopUp = True
'    Forms(Nome).Modal = False
    DoCmd.Close acForm, Nome, acSaveYes
    Next
End Sub
Function chiama()
    Call masch
End Function
poi ti fai una macro che esegue l'azione EseguiCodice, e il Nome
Funzione è chiama (). Come vedi puoi usarla per molte caratteristiche
comuni a tutte le maschere.
Riccardo Baldinotti

Riccardo Baldinotti ha scritto:


Riccardo ho seguito il tuo consiglio e funziona, ma c'è un problema,
almeno a me, che se da PannelloComandi premo un tasto che mi apre
Maschera1, quest'ultima si posiziona dietro il pannello comandi (cioe tra
sfondo e pannello comandi), tieni conto che prima di implementare sta cosa
dello sfondo fuziona come deve. :(


 dello sfondo fuziona come deve. :(
hai tolto PpUp a Pannello?

Riccardo Baldinotti ha scritto:


Si si infatti avevo controllato anche quello lo avevo tolto


 Si si infatti avevo controllato anche quello lo avevo tolto
È strano, perché non riesco a ottenerlo, premendo un pulsante che
esegue un DoCmd.OpenForm. Ho provato a dare doppio click, ma niente.
A questo punto, prova a scrivere:
Private Sub Comando0_Click()
    DoCmd.OpenForm "maschera1"
    Forms!fr_PannelloComandi.Visible = False
    'DoCmd.Close acForm, "fr_PannelloComandi"
End Sub
sul click del pulsante di Pannello. Come vedi, ho provato sia a
chiudere la maschera chiamante che a renderla invisibile.
In Maschera1, avrai un pulsante di chiusura che fa così:
Private Sub Comando0_Click()
    'DoCmd.OpenForm "fr_PannelloComandi"
    Forms!fr_PannelloComandi.Visible = True
    DoCmd.Close acForm, "maschera1"
End Sub
cioè, a scelta, riaprire o rendere visibile Pannello.
Riccardo Baldinotti

 Riccardo Baldinotti
Ciao Riccardo grazie per la tua ennesima risposta, ho fatto direttamente
adattando un db che ho trovato qui:
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=15
dai un'okkiata forse puň esserti utile, adesso l'unico problema č come
avere un immagine unica e non affiancata
Ciao
Domy
