דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. ביטול כפתור סגירה (X) באקסס

ביטול כפתור סגירה (X) באקסס

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 5 כותבים 711 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • zvinissimZ מנותק
    zvinissimZ מנותק
    zvinissim
    כתב ב נערך לאחרונה על ידי
    #1

    מי מאיתנו כתב לא פעם אחת תוכנה באקסס ובטעות במקום לסגור טופס הוא סגר "בטעות" את כל התוכנה?
    או שיותר גרוע שכבר נתת את התוכנה שכתבת ללקוח אך המזכירה בטעות לחצה על כפתור הסגור (X) של התוכנה במקום ב (X) של הטופס.
    אז זהו גם לבקשתו של ClickOne אני מעלה את הקוד הבא:

    יש לבנות את הפונקציות הבאות:

    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
    

    את השגרה הבאה יש לכתוב בעת הפעלת התוכנה :

    Call SetEnabledState(False)
    

    פורסם במקור בפורום CODE613 ב04/11/2015 18:31 (+02:00)

    פורום אופיס
    לכל הטיפים שלי

    תגובה 1 תגובה אחרונה
    5
    • zvinissimZ מנותק
      zvinissimZ מנותק
      zvinissim
      כתב ב נערך לאחרונה על ידי
      #2

      לבקשתו של ClickOne אני מוסיף את קישור המקור

      פורסם במקור בפורום CODE613 ב04/11/2015 18:37 (+02:00)

      פורום אופיס
      לכל הטיפים שלי

      תגובה 1 תגובה אחרונה
      1
      • S מנותק
        S מנותק
        shsh654
        כתב ב נערך לאחרונה על ידי
        #3

        המודול נותן לי שגיאה (2 הפסקאות הראשונות של שם הפונקציה)
        64 ביט - קשור?

        פורסם במקור בפורום CODE613 ב06/11/2015 09:15 (+02:00)

        תגובה 1 תגובה אחרונה
        0
        • zvinissimZ מנותק
          zvinissimZ מנותק
          zvinissim
          כתב ב נערך לאחרונה על ידי
          #4

          כן,
          יש קשר
          תצטרך להוסיך התניה בקוד שיבדוק אם האקסס הוא בגרסת 32Bit או 64Bit.
          אני מצרף לך קישור שמראה איך לבדוק אם זה 32Bit או 64Bit.

          פורסם במקור בפורום CODE613 ב06/11/2015 14:25 (+02:00)

          פורום אופיס
          לכל הטיפים שלי

          תגובה 1 תגובה אחרונה
          1
          • S מנותק
            S מנותק
            shsh654
            כתב ב נערך לאחרונה על ידי
            #5

            מצאתי שם את ההתאמה ל64 אבל לא את ההתניה

            פורסם במקור בפורום CODE613 ב07/11/2015 21:50 (+02:00)

            תגובה 1 תגובה אחרונה
            0
            • zvinissimZ מנותק
              zvinissimZ מנותק
              zvinissim
              כתב ב נערך לאחרונה על ידי
              #6

              צריך לכתוב את ההתניה
              לא היה זמן ביום שיש ואין לי אקסס 64Bit לכן אין לי גם איך לבדוק את זה

              פורסם במקור בפורום CODE613 ב07/11/2015 22:15 (+02:00)

              פורום אופיס
              לכל הטיפים שלי

              תגובה 1 תגובה אחרונה
              0
              • H מנותק
                H מנותק
                hubhcbh
                כתב ב נערך לאחרונה על ידי
                #7

                קוד ל 64 ו 32 ביט כולל התניה

                Option Compare Database
                'התניה ל64 ביט
                #If VBA7 Then
                'אם 64 ביט, הוספת המילה PtrSafe
                Private Declare PtrSafe Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
                    ByVal bRevert As Long) As Long
                 
                Private Declare PtrSafe Function EnableMenuItem Lib "user32" (ByVal hMenu As _
                    Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As Long
                
                #Else
                'ל32 ביט
                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
                #End If
                
                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וינברג
                

                פורסם במקור בפורום CODE613 ב07/11/2015 22:59 (+02:00)

                תגובה 1 תגובה אחרונה
                4
                • W מנותק
                  W מנותק
                  www 0
                  כתב ב נערך לאחרונה על ידי
                  #8

                  קיים גם אפשרות לבקש אישור ליציאה לפני כל ניסיון יציאה מהתוכנה,
                  מישהו יודע איך עושים את זה?
                  1.jpg

                  פורסם במקור בפורום CODE613 ב06/06/2016 22:43 (+03:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • D מנותק
                    D מנותק
                    DovidStroh
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @www

                    קיים גם אפשרות לבקש אישור ליציאה לפני כל ניסיון יציאה מהתוכנה,
                    מישהו יודע איך עושים את זה?

                    on open:

                    Application.TempVars.Add "blnEnableClose", False
                    

                    on unload: (כשמנסה לסגור)

                    Private Sub Form_Unload(Cancel As Integer)
                    Dim toclose As String
                    If Application.TempVars!blnEnableClose = False Then
                    Cancel = True
                    toclose = MsgBox("האם לסיים ולצאת", vbYesNo, "יציאה")
                        If toclose = 6 Then
                        Application.TempVars.Add "blnEnableClose", True
                        DoCmd.Quit
                        End If
                    End If
                    End Sub
                    

                    פורסם במקור בפורום CODE613 ב19/09/2016 14:42 (+03:00)

                    תגובה 1 תגובה אחרונה
                    1

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום