FORM ללא פס הכותרת

panther34

New member
FORM ללא פס הכותרת

שלום איך אפשר לבטל את שורת הכותרת ללא שינוי BorderStyle=None, כי אז לא מופיע ה-popup כשלוחצים על הימני כשהמסך מקובץ. ניסיתי לתקוע Image על הכותרת אבל הכותרת נמצאת תמיד למעלה. יש למישהו רעיון? תודה, עידן
 
מתנת המלך השבועית #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​
 
אין בעד מה :)

הייתי אומר ששווה להוסיף את זה ל-FAQ (שאלות נפוצות בשפת אבי), אבל זה לא תפקידי אני משער...
 
למעלה