Accueil > > > TECHNIQUES POUR EMPECHER LE DÉCHARGEMENT DE LA FEUILLE
TECHNIQUES POUR EMPECHER LE DÉCHARGEMENT DE LA FEUILLE
Information sur la source
Description
Hello la compagnie ! Je cherchai justement comment empecher le déchargement de la feuille et j'ai trouvé plusieurs méthodes. Une qui annule purement le déchargement dans Form_QueryUnload, une qui permet tout bêtement de cacher la croix (pas très bon mais je met tout de même, car ça cache tout les boutons de la barre de titre), et la derniere de griser la case system (croix de fermeture)
Source
- 'méthode du Form_QueryUnload
- Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
- Cancel = 1 'cancel est normalement à 0, le changer annule le déchargement.
- End Sub
-
- 'ou avec une msgbox
- Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
- Dim Question As VbMsgBoxResult
- Question = MsgBox("Etes-vous sûr(e) de vouloir quitter ?", vbQuestion + vbYesNo)
- If Question = vbNo Then Cancel = 1
- End Sub
-
- '------------------------------------
-
- 'Pour masquer les controles de la barre de titre, dans la propriété ControlBox de votre form, mettez false
-
- 'Vous pouvez aussi le faire avec des APIs
-
- Private Declare Function GetWindowLongA Lib "User32" _
- (ByVal hWnd As Long, ByVal nIndex As Long) As Long
-
- Private Declare Function SetWindowLongA Lib "User32" _
- (ByVal hWnd As Long, ByVal nIndex As Long, _
- ByVal dwNewLong As Long) As Long
-
- Private Declare Function FindWindowA Lib "User32" _
- (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
-
- Private Sub Form_Initialize()
- Dim hWnd As Long
- hWnd = FindWindowA("ThunderFormDC", Me.Caption)
- SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
- End Sub
-
- '-------------------------------
-
- 'griser la croix, donné par Derrick soft dans le forum
-
- 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
-
- ' Remove the Close menu item and disable the Close button
- ' from a window
-
- Public Sub RemoveCloseMenuItem(ByVal hWnd As Long)
- Const SC_CLOSE = &HF060
- Const MF_BYCOMMAND = 0
-
- Dim hMenu As Long
- ' get the system menu's handle
- hMenu = GetSystemMenu(hWnd, 0)
- ' remove the Close item
- RemoveMenu hMenu, SC_CLOSE, MF_BYCOMMAND
- End Sub
-
- Private Sub Form_Load()
- RemoveCloseMenuItem (Me.hWnd)
- End Sub
'méthode du Form_QueryUnload
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = 1 'cancel est normalement à 0, le changer annule le déchargement.
End Sub
'ou avec une msgbox
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim Question As VbMsgBoxResult
Question = MsgBox("Etes-vous sûr(e) de vouloir quitter ?", vbQuestion + vbYesNo)
If Question = vbNo Then Cancel = 1
End Sub
'------------------------------------
'Pour masquer les controles de la barre de titre, dans la propriété ControlBox de votre form, mettez false
'Vous pouvez aussi le faire avec des APIs
Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Form_Initialize()
Dim hWnd As Long
hWnd = FindWindowA("ThunderFormDC", Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
End Sub
'-------------------------------
'griser la croix, donné par Derrick soft dans le forum
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
' Remove the Close menu item and disable the Close button
' from a window
Public Sub RemoveCloseMenuItem(ByVal hWnd As Long)
Const SC_CLOSE = &HF060
Const MF_BYCOMMAND = 0
Dim hMenu As Long
' get the system menu's handle
hMenu = GetSystemMenu(hWnd, 0)
' remove the Close item
RemoveMenu hMenu, SC_CLOSE, MF_BYCOMMAND
End Sub
Private Sub Form_Load()
RemoveCloseMenuItem (Me.hWnd)
End Sub
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|