Cmq, ho letto sulle istruzioni che una maschera si
puo' chiudere anche tramite ALT + F4 , ma vorrei
impedirlo (con gli utenti non si sa mai ...).
Spero in un vostro aiuto.
puoi dare un occhiata a questo molto più gestibile:
oppure, meno gestibile, solo per alt+F4 e da inserire in ogni form, puoi
sfruttare l'evento KeyDown della form dopo aver impostato la proprieta'
"Anteprima Tasti" a SI:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (Shift And acAltMask) > 0 And (KeyCode = vbKeyF4) Then
MsgBox "IMPOSSIBILE USARE [ALT+F4] !"
KeyCode = 0
End If
End Sub
> Spero in un vostro aiuto.
--
Ciao
Geppo
Si, grazie, ma io volevo togliere all' utente la possibilita' di
chiudere
la maschera anche cliccando col mouse sulla crocetta in alto a destra
(hai presente, sta in ogni maschera)
cut
Si, grazie, ma io volevo togliere all' utente la possibilita' di
chiudere
la maschera anche cliccando col mouse sulla crocetta in alto a destra
(hai presente, sta in ogni maschera)
Dalle proprietą della maschera:
Pulsante chiusura = NO
Ciao, Carlo
> Dalle proprietà della maschera:
> Pulsante chiusura = NO
Ehm ... Si ... :D
Intendevo : usando VBA.
ti ho suggerito questa faq l'hai letta?
--
Ciao
Geppo
> On 5 Giu, 18:32, "Carlo Costarella" <carlocoslib...@libero.it> wrote:
> > Dalle propriet� della maschera:
> > Pulsante chiusura = NO
> Ehm ... Si ... :D
> Intendevo : usando VBA.
Propriet� CloseButton...
--
sv
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
Macche' ...
ne questa :
Set frm1.CloseButton = False
ne quest' altra :
frm1.CloseButton = False
Danno errore ... BOH.
Tu come hai fatto ????
Certo !
Ma non e' quello che serve a me.
Almeno, cosi' mi pare.
Cmq grazie !
ti pare male......
> Cmq grazie !
prego
--
Ciao
Geppo
> Macche' ...
Mai utilizzata questa propriet�. Del resto la puoi solo impostare in
visualizzazione struttura.
Devi per forza di cose utilizzare le API.
Vedi:
http://vbnet.mvps.org/index.html?code/forms/killclose.htm
Le dichiarazioni le metti in un modulo, poi sull'evento "LOAD" della
maschera inserisci:
Call MenuRemoveClose(Me)
> Mai utilizzata questa propriet . Del resto la puoi solo impostare in
> visualizzazione struttura.
> Devi per forza di cose utilizzare le API.
> Vedi:http://vbnet.mvps.org/index.html?code/forms/killclose.htm
>
> Le dichiarazioni le metti in un modulo, poi sull'evento "LOAD" della
> maschera inserisci:
>
> Call MenuRemoveClose(Me)
Diavolo, non ci sarei mai arrivato da solo.
Grazie mille !
> ti pare male......
Ehm ... E' probabile, umilmente parlando.
Il fatto e' che devo impedire all' utente non di chiudere
una maschera qualsiasi, ma il suo clone.
Quindi se metto cancel = true dentro l' evento chiusura,
poi l' utente non puo' chiudere nemmeno la maschera
originale. Invece quello deve poterlo fare.
Dico bene ?
ma questa � un'altra cosa, non � quello che hai chiesto inizialmente.
--
Ciao
Geppo
> ma questa un'altra cosa, non quello che hai chiesto inizialmente.
Si, e' vero. Dovevo essere piu' preciso.
Scusami.
Vabbe' per questa volta ti lascio vivere. :-D
--
Ciao
Geppo
Io ho seguito il post di sv
> Vedi:
> http://vbnet.mvps.org/index.html?code/forms/killclose.htm
> Le dichiarazioni le metti in un modulo, poi sull'evento "LOAD" della
> maschera inserisci:
> Call MenuRemoveClose(Me)
e ho visto che radicale.002 o radicale 004 ha risposto che funziona.
Scusami Alessandro, ma da solo non saprei cosa modificare. Potresti
darmi una mano.
Grazie.
Giuseppe.
Ho guardato il link.
Ho l'impressione che sia stata rinominata la sub "Private Sub Form_Load()"
in "Public Function MenuRemoveClose(f as frm)"
e quindi a quel punto puo' essere chiamata dall open del tuo form ("Call
MenuRemoveClose(Me)").
Questo per poter generalizzare la chiamata.
Non capisco per quale motivo debba essere passata la form attuale (me)
poiche' non mi sembra sia necessaria ai fini della esecuzione.
--
ac
prova in questo modo copiando il listato sottostante in un modulo standard:
Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright ©1996-2009 VBnet, Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Distribution: You can freely use this code in your own
' applications, but you may not reproduce
' or publish this code on any web site,
' online service, or distribute as source
' on any media without express permission.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Const MF_BYPOSITION = &H400
Private Const MF_REMOVE = &H1000
Private Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" _
(ByVal hMenu As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, _
ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Function MenuRemoveClose(f As Form)
Dim hMenu As Long
Dim menuItemCount As Long
'Obtain the handle to the form's system menu
hMenu = GetSystemMenu(f.hwnd, 0)
If hMenu Then
'Obtain the number of items in the menu
menuItemCount = GetMenuItemCount(hMenu)
'Remove the system menu Close menu item.
'The menu item is 0-based, so the last
'item on the menu is menuItemCount - 1
Call RemoveMenu(hMenu, menuItemCount - 1, _
MF_REMOVE Or MF_BYPOSITION)
'Remove the system menu separator line
Call RemoveMenu(hMenu, menuItemCount - 3, _
MF_REMOVE Or MF_BYPOSITION)
'Force a redraw of the menu. This
'refreshes the titlebar, dimming the X
Call DrawMenuBar(f.hwnd)
End If
End Function
adesso riprova.
--
Ciao
Geppo
Ciao Geppo, grazie.
Ho sostituito il codice presente nel mio "Modulo 1" con quello da te
postato.
Nella mia form su evento "su caricamento" ho:
BildArray
DoCmd.MoveSize 0, 500, 10000, 8000
Me.IdTipoDocumento.BackColor = 65535
Call MenuRemoveClose(Me)
Apro la maschera e quando tento di chiudere la form cliccando sulla X
me la chiude tranquillamente.
Ciao.
Non so per quale motivo devi disabilitare la X di chiusura, allora mi chiedo
perch� non la disabiliti dalle proprieta' della form? Cosi � decisamente
meglio, questo anche perch� il sistema delle API non disabilita del tutto la
X, infatti qualora si massimizzasse la Form tornerebbe nuovamente
cliccabile.
proprieta' form>scheda Formato>Pulsante chiusura = NO
> Ciao
--
Ciao
Geppo
Si Geppo so che dalle proprietà posso decidere se visualizzare o meno
il pulsante di chiusura.
Vorrei utilizzare per tutte le form del mio db un'impostazione unica.
Il discorso è che in alcune maschere ci sono dei controlli associati
che assumono dei valori automatici.
Se l'utente non riempe tutti i controlli obbligatori (che non ho
definito) ed esce tramite il click sulla X il record viene cmq
salvato.
Sul pulsante "uscita" invece ho impostato la richiesta se, prima di
uscire, salvare o eliminare il record, e la chiusura della form
mediante Alt+F4 l'ho disabilitata.
Ciao.
Giuseppe.
Allora il codice che ti ho postato a me disabilita la X, però tieni presente
che qualora la form viene massimizzata il pulsante torna abilitato, pertanto
non credo sia una cosa positiva nel tuo caso e poi rimane abilitato anche il
menu a tendina della form dove si puo cliccare "chiudi":
vedi qui:
http://www.divshare.com/download/11665234-8bf
Secondo me, visto che vuoi riflettere le modifiche su tutte le form, ti
conviene disabilitare il "Pulsante Chiusura" con una funzione che lo fa su
tutte le form in un colpo solo.
Comunque su internet ci sono altri modi per disabilitare la X come ad
esempio questo:
http://www.accessmvp.com/JConrad/accessjunkie/closebutton.html
che praticamente ti toglie la X e i pulsanti minimizza/massimizza nonchè il
menu a tendina della form accessibile dall'icona sull'angolo superiore
sinistro.
> Ciao.
> Giuseppe.
--
Ciao
Geppo
Ottimo.
> Giuseppe.
--
Ciao
Geppo