ACC: How to deaktivieren Sie die Schließen-Schaltfläche (X) auf der Access-Anwendungsfensters (95/97)

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 258049
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Erweiterte: Erfordert Experten Codierung und Interoperabilität sowie Mehrbenutzerfähigkeiten.

Dieser Artikel bezieht sich ausschließlich auf eine Microsoft Access-Datenbank (.mdb).

Zusammenfassung
Microsoft Access verfügt über keine integrierte Methode für die Schaltfläche Schließen (X) auf das Anwendungsfenster oder den Befehl Schließen im das Systemmenü des Anwendungsfensters deaktivieren. Dieser Artikel beschreibt beide diese Elemente programmgesteuert zu deaktivieren.
Weitere Informationen
Um die Anwendungsschaltfläche Schließen und den Befehl Schließen im System deaktivieren, müssen Sie die GetSystemMenu und ModifyMenu -Funktion von der Win32-API aufrufen.

Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen.

Vorgehensweise: Beispiel


  1. Starten Sie Microsoft Access.
  2. Öffnen Sie die Beispieldatenbank "Nordwind.mdb".
  3. Klicken Sie im Menü Einfügen auf Klassenmodul .
  4. Geben oder fügen den folgenden Code in den Deklarationsbereich:
    Option Compare DatabaseOption ExplicitPrivate Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _   ByVal bRevert As Long) As LongPrivate Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As _   Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As LongPrivate Declare Function GetMenuItemInfo Lib "user32" Alias _   "GetMenuItemInfoA" (ByVal hMenu As Long, ByVal un As Long, ByVal b As _   Long, lpMenuItemInfo As MENUITEMINFO) As LongPrivate Type MENUITEMINFO    cbSize As Long    fMask As Long    fType As Long    fState As Long    wID As Long    hSubMenu As Long    hbmpChecked As Long    hbmpUnchecked As Long    dwItemData As Long    dwTypeData As String    cch As LongEnd TypeConst MF_GRAYED = &H1&Const MF_BYCOMMAND = &H0&Const SC_CLOSE = &HF060&					
  5. Fügen Sie die folgenden Prozeduren hinzu das Klassenmodul:
    Public Property Get Enabled() As Boolean    Dim hWnd As Long    Dim hMenu As Long    Dim result As Long    Dim MI As MENUITEMINFO        MI.cbSize = Len(MI)    MI.dwTypeData = String(80, 0)    MI.cch = Len(MI.dwTypeData)    MI.fMask = MF_GRAYED    MI.wID = SC_CLOSE    hWnd = Application.hWndAccessApp    hMenu = GetSystemMenu(hWnd, 0)    result = GetMenuItemInfo(hMenu, MI.wID, 0, MI)    Enabled = (MI.fState And MF_GRAYED) = 0End PropertyPublic Property Let Enabled(boolClose As Boolean)    Dim hWnd As Long    Dim wFlags As Long    Dim hMenu As Long    Dim result As Long        hWnd = Application.hWndAccessApp    hMenu = GetSystemMenu(hWnd, 0)    If Not boolClose Then        wFlags = MF_BYCOMMAND Or MF_GRAYED    Else        wFlags = MF_BYCOMMAND And Not MF_GRAYED    End If    result = EnableMenuItem(hMenu, SC_CLOSE, wFlags)End Property					
  6. Klicken Sie auf Northwind (um das Projekt zu speichern) speichern , und wenn Sie den Namen des Klassenmoduls aufgefordert speichern Sie es als CloseCommand, im Menü Datei .
  7. Klicken Sie im Einfügen auf Modul , um ein neues, standard-Modul erstellen.
  8. Fügen Sie die folgende Prozedur im Modul:
    Function InitApplication()   Dim c As CloseCommand   Set c = New CloseCommand      'Disable Close menu.   c.Enabled = FalseEnd Function					
  9. Klicken Sie im Menü Debuggen auf Compile Northwind . Wenn das Projekt nicht erfolgreich kompiliert wurde, korrigieren Sie den Kompilierungsfehler, und kompilieren Sie das Projekt erneut.
  10. Im Menü Datei klicken Sie auf Northwind speichern , und verwenden Sie den Namen Standard, der angezeigt wird im Feld Modulname durch Klicken auf OK .
  11. Erstellen Sie ein neues Makro mit den folgenden Aktionen und Aktion-Argumente:
       Action   -------   RunCode   Action Arguments   -------------------------------   Function Name: InitApplication()					
  12. Speichern Sie das Makro und nennen Sie es Autoexec.
  13. Schließen Sie die Datenbank.
  14. Öffnen Sie die Datenbank erneut.
Beachten Sie, dass die Schaltfläche Schließen und den Befehl Schließen im das Systemmenü des Anwendungsfensters deaktiviert sind.

Belegung

Das CloseCommand-Klassenmodul der in diesem Artikel beschriebene können Sie problemlos aktivieren oder Deaktivieren der Schaltfläche Schließen und den Befehl Schließen des Anwendungsfensters. Das Klassenmodul können Sie auch überprüft den Status dieser Befehle festzustellen, ob Sie derzeit aktiviert oder deaktiviert werden. Vor dem Ausführen der beiden, muss Ihr Code zuerst erstellen eine Instanz der CloseCommand-Klasse, wie in der InitApplication-Funktion weiter oben in diesem Artikel veranschaulicht.

Auf um den Zustand der Schaltfläche Schließen zu überprüfen, verweisen Sie auf die Enabled -Eigenschaft der CloseCommand-Instanz, die Code erstellt. Ebenso zum Festlegen des Zustands der Schaltfläche Schließen true oder false der Enabled -Eigenschaft Zuweisen der CloseCommand-Instanz, die Code erstellt.

Bitte beachten Sie, dass dieses Verfahren auf das Anwendungsfenster von Microsoft Access nicht die Schaltfläche Schließen im Datenbankfenster auf die Schaltfläche Schließen auswirkt. Erneut nach dem Deaktivieren der Schaltfläche Schließen , wird die Schaltfläche nicht automatisch aktiviert beim Schließen der Datenbank. Der Benutzer sein Microsoft Access beenden, indem Sie die Schaltfläche Schließen , wenn der Benutzer die Datenbank schließt, Microsoft Access geöffnet lässt werden. In diesem Fall sollte die Anwendung die Schaltfläche Schließen reaktivieren, bevor er beendet wird. Andernfalls müssen der Benutzer Microsoft Access starten, damit die Schaltfläche Schließen aktiviert werden.

Diese Technik wird im Menü Datei auf den Befehl Beenden nicht deaktiviert. Wenn Ihre Anwendung diesen Befehl zu deaktivieren muss, müssen Sie im Menü Datei den Befehl Beenden entfernen anpassen.
INF-grau abgeblendet grau unterlegt, oben rechts verfügbar acc97 acc95-acc7 dim

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 258049 – Letzte Überarbeitung: 12/05/2015 19:19:12 – Revision: 4.1

Microsoft Access 97 Standard Edition, Microsoft Access 95 Standard Edition, Microsoft Access 95 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowto KB258049 KbMtde
Feedback