AccessTr.neT

Tam Versiyon: Showballoontooltip Ve Access
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
hüsran
nasıl olur dünyada 64 bit kullanıp system tray icon da sağ tık kullanan hiç olmamış mı hala anlamış değilim kaç gündür tüm google taradım işe yarar bir şey bulamadım
Option Explicit

#If Win64 Then
    Private Declare PtrSafe Function GetWindowLongPtr _
        Lib "user32.dll" Alias "GetWindowLongPtrA" ( _
        ByVal hwnd As LongPtr, _
        ByVal nIndex As Long) As LongPtr

    Private Declare PtrSafe Function SetWindowLongPtr _
        Lib "user32.dll" Alias "SetWindowLongPtrA" ( _
        ByVal hwnd As LongPtr, _
        ByVal nIndex As Long, _
        ByVal dwNewLong As LongPtr) As LongPtr

    Private Declare PtrSafe Function FindWindowA _
        Lib "user32.dll" ( _
        ByVal lpClassName As String, _
        ByVal lpWindowName As String) As LongPtr
       
    Private Declare PtrSafe Function DrawMenuBar _
        Lib "user32.dll" ( _
        ByVal hwnd As LongPtr) As Long
#Else
    Private Declare Function GetWindowLongPtr _
        Lib "user32.dll" Alias "GetWindowLongA" ( _
        ByVal hwnd As Long, _
        ByVal nIndex As Long) As Long
   
    Private Declare Function SetWindowLongPtr _
        Lib "user32.dll" Alias "SetWindowLongA" ( _
        ByVal hwnd As Long, _
        ByVal nIndex As Long, _
        ByVal dwNewLong As Long) As Long

    Private Declare Function FindWindowA _
        Lib "user32.dll" ( _
        ByVal lpClassName As String, _
        ByVal lpWindowName As String) As Long
       
    Private Declare Function DrawMenuBar _
        Lib "user32.dll" ( _
        ByVal hwnd As Long) As Long
#End If

Private Sub UserForm_Initialize()
    CreateMenu
End Sub

Private Sub CreateMenu()
   
    Const GWL_STYLE As Long = -16
    Const WS_SYSMENU As Long = &H80000
    Const WS_MINIMIZEBOX As Long = &H20000
    Const WS_MAXIMIZEBOX As Long = &H10000
   
    #If Win64 Then
        Dim lngFrmWndHdl As LongPtr
        Dim lngStyle As LongPtr
    #Else
        Dim lngFrmWndHdl As Long
        Dim lngStyle As Long
    #End If
   
    lngFrmWndHdl = FindWindowA(vbNullString, Me.Caption)
   
    lngStyle = GetWindowLongPtr(lngFrmWndHdl, GWL_STYLE)
    lngStyle = lngStyle Or WS_SYSMENU      'Add SystemMenu
    lngStyle = lngStyle Or WS_MINIMIZEBOX  'Add MinimizeBox
    lngStyle = lngStyle Or WS_MAXIMIZEBOX  'Add MaximizeBox

    SetWindowLongPtr lngFrmWndHdl, GWL_STYLE, lngStyle
   
    DrawMenuBar lngFrmWndHdl

End Sub
Neden kodları ekleyip duruyorsunuz acaba sonuç olumsuzsa?

Bu konuda Almanların kafasıda çalışmıyacak anlaşılan Img-grin
benim bilgim ile sizin bilgileriniz farklı olabilir belki eklediğim kodlardan bir ayrıntı ile ufak değişiklikler ile güzel bir sonuç ortaya çıkabilir
Aramızda 64 bit kullanan pek yok galiba
(04/03/2020, 06:40)accessman yazdı: [ -> ]Aramızda 64 bit kullanan pek yok galiba
bunun pek bir önemi yok bence, kendiniz belirtmiştiniz
(02/03/2020, 11:28)accessman yazdı: [ -> ]nasıl olur dünyada 64 bit kullanıp system tray icon da sağ tık kullanan hiç olmamış mı hala anlamış değilim kaç gündür tüm google taradım işe yarar bir şey bulamadım
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18