מתנת המלך השבועית #34156
הצהרות:
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Const GWL_STYLE = (-16) Public Enum T_WindowStyle WS_BORDER = &H800000 WS_CAPTION = &HC00000 WS_CHILD = &H40000000 WS_CHILDWINDOW = (WS_CHILD) WS_CLIPCHILDREN = &H2000000 WS_CLIPSIBLINGS = &H4000000 WS_DISABLED = &H8000000 WS_DLGFRAME = &H400000 WS_EX_ACCEPTFILES = &H10& WS_EX_DLGMODALFRAME = &H1& WS_EX_NOPARENTNOTIFY = &H4& WS_EX_TOPMOST = &H8& WS_EX_TRANSPARENT = &H20& WS_GROUP = &H20000 WS_HSCROLL = &H100000 WS_MAXIMIZE = &H1000000 WS_MAXIMIZEBOX = &H10000 WS_MINIMIZE = &H20000000 WS_MINIMIZEBOX = &H20000 WS_OVERLAPPED = &H0& WS_ICONIC = WS_MINIMIZE WS_POPUP = &H80000000 WS_VISIBLE = &H10000000 WS_VSCROLL = &H200000 WS_SYSMENU = &H80000 WS_TABSTOP = &H10000 WS_THICKFRAME = &H40000 WS_TILED = WS_OVERLAPPED WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX) WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU) WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW WS_SIZEBOX = WS_THICKFRAME End Enum
הפונקציה:
Public Sub SetWindowStyle(hwnd As Long, mAttribute As T_WindowStyle, Enable As Boolean) Dim X As Long X = GetWindowLong(hwnd, GWL_STYLE) If Enable Then X = X Or mAttribute Else X = X And Not mAttribute End If SetWindowLong hwnd, GWL_STYLE, X End Sub
שימוש (במקרה שלך):
SetWindowStyle Me.hwnd, WS_CAPTION, False