Andre175
Gebruiker
- Lid geworden
- 2 feb 2018
- Berichten
- 351
Goedemorgen.
Aangezien ik me een nieuwe laptop heb aangeschaft en deze met 64 bit Office draait, werkt mijn code niet meer zoals het hoort.
Gedeeltelijk is het aangepast.
de rode markering gaat nu goed, al weet ik niet of dit de juiste manier is.
Bij de groene markering gaat ie nog fout. Type komt niet overeen.
Kan iemand mij aangeven wat te wijzigen?
André
Aangezien ik me een nieuwe laptop heb aangeschaft en deze met 64 bit Office draait, werkt mijn code niet meer zoals het hoort.
Gedeeltelijk is het aangepast.
Code:
Private Const GWL_STYLE As Long = -16
Public Const MIN_BOX As Long = &H20000
Public Const MAX_BOX As Long = &H10000
Const SC_CLOSE As Long = &HF060
Const SC_MAXIMIZE As Long = &HF030
Const SC_MINIMIZE As Long = &HF020
Const SC_RESTORE As Long = &HF120
Private Declare [COLOR="#FF0000"]PtrSafe [/COLOR]Function GetWindowLong _
Lib "user32.dll" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare [COLOR="#FF0000"]PtrSafe [/COLOR]Function SetWindowLong _
Lib "user32.dll" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar _
Lib "user32.dll" _
(ByVal hwnd As Long) As Long
Private Declare [COLOR="#FF0000"]PtrSafe [/COLOR]Function GetForegroundWindow _
Lib "user32.dll" () As Long
Public Sub AddToForm(ByVal Box_Type As Long)
Dim BitMask As Long
Dim Window_Handle As Long
Dim WindowStyle As Long
Dim Ret As Long
If Box_Type = MIN_BOX Or Box_Type = MAX_BOX Then
[COLOR="#00FF00"]Window_Handle = GetForegroundWindow()[/COLOR]
WindowStyle = GetWindowLong(Window_Handle, GWL_STYLE)
BitMask = WindowStyle Or Box_Type
Ret = SetWindowLong(Window_Handle, GWL_STYLE, BitMask)
Ret = DrawMenuBar(Window_Handle)
End If
End Sub
de rode markering gaat nu goed, al weet ik niet of dit de juiste manier is.
Bij de groene markering gaat ie nog fout. Type komt niet overeen.
Kan iemand mij aangeven wat te wijzigen?
André