Access Penceresini gizlemek için uygulamanızda yeni bir modül oluşturun ve içerisine aşağıdaki kodları yazın.
Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
Dim dwReturn As Long
Const SW_HIDE = 0
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Public Function fAccessWindow(Optional Procedure As String, Optional SwitchStatus As Boolean, Optional StatusCheck As Boolean) As Boolean
If Procedure = "Hide" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
End If
If Procedure = "Show" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
If Procedure = "Minimize" Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED)
End If
If SwitchStatus = True Then
If IsWindowVisible(hWndAccessApp) = 1 Then
dwReturn = ShowWindow(Application.hWndAccessApp, SW_HIDE)
Else
dwReturn = ShowWindow(Application.hWndAccessApp, SW_SHOWMAXIMIZED)
End If
End If
If StatusCheck = True Then
If IsWindowVisible(hWndAccessApp) = 0 Then
fAccessWindow = False
End If
If IsWindowVisible(hWndAccessApp) = 1 Then
fAccessWindow = True
End If
End If
End Function
Başlangıçta ilk açılan formun "Yüklendiğinde" olayına
Kod:
Call fAccessWindow("Hide", False, False)
veya
yeni bir makro oluşturun. makronun "Eylem" alanına "Kod Çalıştır", "Eylem Değişkenleri" bölümündeki "İşlev Adı" alanına
Alıntı:yazın ve "Autoexec" adıyla kaydedin.fAccessWindow ("Hide", False, False)
Uygulamanızdaki tüm formların ve raporların özelliklerinden "Açılan" ve "Kalıcı" alanlarındaki değerleri "Evet" olarak belirleyin.
Uygulamanızdaki tüm raporların Açıldığında olayına aşağıdaki kodu yazın
Kod:
Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
End Sub
2. YOL
Access Penceresini gizlemek için uygulamanızda yeni bir modül oluşturun ve içerisine aşağıdaki kodları yazın.
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
fSetAccessWindow = (loX <> 0)
End Function
Başlangıçta ilk açılan formun "Yüklendiğinde" olayına
Kod:
fSetAccessWindow (SW_HIDE)
Uygulamanızdaki tüm formların ve raporların özelliklerindeki "Açılan" ve "Kalıcı" alanlarındaki değerleri "Evet" olarak belirleyin.
Uygulamanızdaki tüm raporların Açıldığında olayına aşağıdaki kodu yazın
Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
End Sub
3. YOL (Tavsiye Edilen)
Access Penceresini gizlemek için uygulamanızda yeni bir modül oluşturun ve içerisine aşağıdaki kodları yazın.
Option Compare Database
Option Explicit
Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Public Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, _
ByVal Y3 As Long) As Long
Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, _
ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, _
ByVal nCombineMode As Long) As Long
Public Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Const RGN_AND = 1
Public Const RGN_COPY = 5
Public Const RGN_DIFF = 4
Public Const RGN_OR = 2
Public Const RGN_XOR = 3
Public Function degistir()
Dim rgn1 As Long, rgn2 As Long
rgn1 = CreateRectRgn(0, 0, 1, 1)
CombineRgn rgn1, rgn1, rgn2, RGN_OR
SetWindowRgn Application.hWndAccessApp, rgn1, True
End Function
Public Function degistir2()
Dim rgn1 As Long, rgn2 As Long
rgn1 = CreateRectRgn(0, 0, 1500, 1500)
CombineRgn rgn1, rgn1, rgn2, RGN_OR
SetWindowRgn Application.hWndAccessApp, rgn1, True
End Function
Başlangıçta ilk açılan formun "Yüklendiğinde" veya "açıldığında" olayına
Kod:
Modul1.degistir
Uygulamanızdaki tüm formların ve raporların özelliklerinden "Açılan" ve "Kalıcı" alanlarındaki değerleri "Evet" olarak belirleyin.
Uygulamanızdaki tüm raporların Açıldığında olayına aşağıdaki kodu yazın
Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
End Sub
3. yolda belirtilen işlemler uygulandığında pencere gizlenmiyorsa ekteki yol3örnek.rar isimli örneği inceleyiniz.
Access 2007 ile hazır yapılmış örnek için lütfen 85 numaralı mesaj daki örnek dosyayı inceleyiniz.