Makale numarası: 300688 - Son Gözden Geçirme: 31 Ocak 2007 Çarşamba - Gözden geçirme: 6.2

Uygulama penceresini Kapat düğmesi ve Dosya menüsünde <a2>Çıkış</a2> komutunu devre dışı bırakma

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Gelişmiş: Uzman kodlama, birlikte çalışabilirlik ve çok kullanıcılı becerileri gerektirir.

Bu makale, Microsoft Access veritabanı (.mdb) ve Microsoft Access projesi (.adp) için geçerlidir.

Bu makalenin Microsoft Access 2000 sürümü için bkz: 245746  (http://support.microsoft.com/kb/245746/EN-US/ ) .
Bu makalenin Microsoft Access 97 sürümü için bkz: 258049  (http://support.microsoft.com/kb/258049/ ) .

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Microsoft Access'te, uygulama penceresinin, uygulama penceresinin <a1>Sistem</a1> menüsündeki Kapat komutu veya Dosya) menüsünde <a2>Çıkış</a2> komutunu (X) Kapat düğmesini devre dışı bırakmak için yerleşik bir yöntem bulunur. Bu makalede, tüm bu program aracılığıyla devre dışı bırakma.

Daha fazla bilgi

DIKKAT: Bu örnekteki adımları, Northwind.mdb adlı örnek veritabanını değiştirme. Northwind.mdb dosyasını yedekleyin ve bu adımları veritabanının bir kopyasında isteyebilirsiniz.

Uygulamayı Kapat düğmesini ve Sistem menüsü üzerinde Kapat komutunu devre dışı bırakmak için Win32 API ' GetSystemMenu ve EnableMenuItem işlevleri çağırmalısınız.

Dosya menüsünde <a2>Çıkış</a2> komutunu devre dışı bırakmak için programatik olarak yönetmek için tüm menü çubukları, araç çubukları ve kısayol menüleri uygulamanızdaki Visual Basic for Applications'ı sunar CommandBars tahsilat kullanmanız gerekir.

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.

Adım adım örnek

  1. Microsoft Access'i başlatın.
  2. Northwind.mdb örnek veritabanını açın.
  3. Ekle menüsünden, yeni bir standart modül oluşturma modülü ' nü tıklatın.
  4. Tanımlamalar bölümüne aşağıdaki kodu yazın:
    Option Compare Database
    Option Explicit
    
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
        ByVal bRevert As Long) As Long
    
    Private Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As _
        Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long
    
    Const MF_GRAYED = &H1&
    Const MF_BYCOMMAND = &H0&
    Const SC_CLOSE = &HF060&
    
    Public Function SetEnabledState(blnState As Boolean)
        Call CloseButtonState(blnState)
        Call ExitMenuState(blnState)
    End Function
    
    'Disable the Menu Option
    Sub ExitMenuState(blnExitState As Boolean)
        Application.CommandBars("File").Controls("Exit").Enabled = blnExitState
    End Sub
    
    'Disable the Close Button Option
    Sub CloseButtonState(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 Sub
    					
  5. Dosya menüsünde Northwind Kaydet'i tıklatın ve Tamam ' ı tıklatarak, Modül adı kutusunda görünen varsayılan adı kullanın.
  6. Aşağıdaki özelliklere yeni bir form oluşturun:
       Form: frmSetCloseState
       -------------------------
       Caption: Set Close State
    
       Command button
       ------------------------
       Name: cmdEnable
       Caption: Enable
       OnClick: Event Procedure
    
       Command button
       ------------------------
       Name: cmdDisable
       Caption: Disable
       OnClick: Event Procedure
    					
  7. Tasarım görünümünde Etkinleştir komut düğmesini sağ tıklatın ve görüntülenen menüde Olay Oluştur'ı tıklatın.
  8. Kod Oluşturucu'yu tıklatın, Tamam ' ı tıklatın ve sonra da ortaya çıkan modüle aşağıdaki kodu yazın:
    Private Sub cmdEnable_Click()
        Call SetEnabledState(True)
    End Sub
    					
  9. Devre dışı bırak komut düğmesinin
    Private Sub cmdDisable_Click()
        Call SetEnabledState(False)
    End Sub
    					
  10. Formu kaydedin ve Form görünümü içinde açmak
Devre dışı bırak komut düğmesini, Kapat düğmesini, uygulama penceresinin Kapat komutunu ve Dosya menüsünde <a2>Çıkış</a2> komutunu devre dışı bırakılmasına dikkat edin. Bu komutları, komut Etkinleştir düğmesini tıklatırsanız, yeniden etkinleştirildikten bağlantısı olacaktır.

Kullanım

Bu makalede açıklanan kod kolayca etkinleştirmek ya da kullanıcıların bu yöntemleri kullanarak uygulamadan çıkmak önlemek için Exit komutu Dosya menüsünde Kapat düğmesini ve uygulama penceresinin Kapat komutunu devre dışı bırakmak sağlar.

Bu teknik, Microsoft Access, Veritabanı penceresinde, Kapat düğmesini değil Uygulama penceresinde Kapat düğmesini etkilediğini unutmayın. Veritabanınızın kapattığında bu seçenekleri devre dışı bırakılması sonra ne otomatik olarak re-enabled. Kullanıcı veritabanını kapatır ve Microsoft Access, açık bırakır, kullanıcı Dosya menüsünden Kapat düğmesini veya Çıkış komutunu kullanarak, Microsoft Access'ten çıkmak gideremez ve çözemez. Bu durumda, sona erdirir önce uygulamanızın her iki seçeneği etkinleştirmelisiniz. Aksi durumda, kullanıcı çıkın ve Microsoft Access Kapat düğmesini ve etkin olması için Dosya menüsünden Çıkış komutunu yeniden gerekir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbvba kbprogramming kbhowto KB300688 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:300688  (http://support.microsoft.com/kb/300688/en-us/ )