Skip to main content

AccessTr.neT


Simge Durumu

Simge Durumu

#7
(05/07/2020, 16:07)berduş yazdı: siz modüle sadece formu simge durumuna getirme kodu eklemişsiniz, Access penceresini gizleme kodlarını eklememişsiniz o nedenle sadeve form küçülüyor Access penceresi değil.
Modul kodu

#If VBA7 And Win64 Then '64 bit için
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long

Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long) As Long
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" ( _
    ByVal hwnd As Long, _
    ByVal nCmdShow As Long) As Long

#Else '32 bit için
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long) As Long
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" ( _
    ByVal hwnd As Long, _
    ByVal nCmdShow As Long) As Long

#End If



Private Const WS_EX_APPWINDOW = &H40000
Private Const GWL_STYLE = -20

Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3

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
If nCmdShow = SW_HIDE Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else

loX = apiShowWindow(hWndAccessApp, nCmdShow)

End If
fSetAccessWindow = (loX <> 0)
End Function

Public Function ShowInTaskbar(Lhwnd As Long, Show As Boolean)
Dim lStyle As Long
lStyle = GetWindowLong(Lhwnd, GWL_STYLE)

If Show Then
lStyle = lStyle Or WS_EX_APPWINDOW
Else
lStyle = lStyle And Not WS_EX_APPWINDOW
End If

Call SetWindowLong(Lhwnd, GWL_STYLE, lStyle)
fSetAccessWindow (SW_HIDE)
End Function
form load kodu
ShowInTaskbar Me.hwnd, True
dikkatimden kaçmış olabilir ama sizin formda küçültme özelliği pasif değilmiydi?
modüldeki diğer kodu silip bunu mu yapıştırayım
Cevapla
#8
evet

hatırlatayım bu kodları kullandığınızda formu kapattığınızda Access penceresi görünmez ama program kapanmaz da o nedenle programı tam kapatmak için quit komutu kullanılmalı
Cevapla
#9
(05/07/2020, 16:16)berduş yazdı: evet

hatırlatayım bu kodları kullandığınızda formu kapattığınızda Access penceresi görünmez ama program kapanmaz da o nedenle programı tam kapatmak için quit komutu kullanılmalı
hocam aslında ben pencerenin kapatılmasını değil sadece simge durumuna küçültülüp tekrar büyütülmesini istiyorum.bu kod bu anlattığım durumu sağlıyormu acaba
Cevapla
#10
aslında tam olarak ne istediğiniz önemli. bu haliyle formu tasarım halinde açamazsınız tasarım moduna gecebilmek için farklı bir kod daha eklemeniz gerek. o nedenle gizlesin derken tam olarak kastınız yada amacınız ne? bu haliyle form yüklenirken Access penceresi gizlenir ve formu küçültürseniz form aşağı simge olarak iner formu tekrar ekrana getirebilir. formlar arasında gezebilirsiniz.
yok eğer amacınız sadece formu küçültmek ve tekrar Access formları tasarım modunda açabilmek ise o zaman yapıyı değiştirmek gerek.
Cevapla
#11
(05/07/2020, 17:21)berduş yazdı: aslında tam olarak ne istediğiniz önemli. bu haliyle formu tasarım halinde açamazsınız tasarım moduna gecebilmek için farklı bir kod daha eklemeniz gerek. o nedenle gizlesin derken tam olarak kastınız yada amacınız ne? bu haliyle form yüklenirken Access penceresi gizlenir ve formu küçültürseniz form aşağı simge olarak iner formu tekrar ekrana getirebilir. formlar arasında gezebilirsiniz.
yok eğer amacınız sadece formu küçültmek ve tekrar Access formları tasarım modunda açabilmek ise o zaman yapıyı değiştirmek gerek.
hocam tam da yukarıda kırmızıya çevirdiğim cümleniz gibi yapmak istiyorum. Ama benim dosyada simge durumuna küçültme aktif değil ne yapmalıyım acaba. (küçült/kapla düğmeleri "küçültme var" veya "Her ikisi var" seçmeme rağmen.)
Cevapla
#12
dilerim işinize yarar
Modül kodları;
Private Const WS_EX_APPWINDOW = &H40000
Private Const GWL_STYLE = -20

#If VBA7 And Win64 Then '64 bit için
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" ( _
ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

#Else '32 bit için
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" ( _
ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

#End If

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
If nCmdShow = SW_HIDE Then
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else

loX = apiShowWindow(hWndAccessApp, nCmdShow)

End If
fSetAccessWindow = (loX <> 0)
End Function

Public Function ShowInTaskbar(Lhwnd As Long, Show As Boolean)
Dim lStyle As Long
lStyle = GetWindowLong(Lhwnd, GWL_STYLE)

If Show Then
lStyle = lStyle Or WS_EX_APPWINDOW
Else
lStyle = lStyle And Not WS_EX_APPWINDOW
End If

Call SetWindowLong(Lhwnd, GWL_STYLE, lStyle)
fSetAccessWindow (0)
End Function
formun kapanma olayının kodları( bu kodlar sadece ana forma eklenecek);
Private Sub Form_Close()
fSetAccessWindow (5)
End Sub
yüklenme olayının kodları
Private Sub Form_Load()
ShowInTaskbar Me.hwnd, True
End Sub
ana formun kenarlık sitili:BOYUTLANDIRILABİLİR olacak
.rar Gizle_goster_hy.rar (Dosya Boyutu: 516,95 KB | İndirme Sayısı: 6)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task