Wieder ein Tipp der in Richtung grafisches Aufpeppen von
Projekten zielt. Mit wenigen Anweisungen ist es möglich, Command- & Optionbutton
,Picture- & Checkboxen und alle Objekte die die Eigenschaft "hWnd" haben,
mit einem 3D-Rahmen auszustatten. Was dabei gefällt muß selbst ausprobiert werden. Ein
Beispiel gefällig, bitte ...
Öffnen Sie ein neues Projekt und tragen in den
General/Declarations bzw. Allgemein/Deklarationen
'Abschnitt der Form folgendes ein.
######################################################
16Bit
Declare Function GetWindowLong Lib "User" (ByVal hWnd As Integer, ByVal nIndex
As Integer) As Long
Declare Function SetWindowLong Lib "User" (ByVal hWnd As Integer, ByVal nIndex
As Integer, ByVal dwNewLong As Long) As Long
Declare Function SetWindowPos Lib "User" (ByVal hWnd%, ByVal hWndInsertAfter%,
ByVal X%, ByVal Y%, ByVal cX%, ByVal cY%, ByVal wFlags%) As Integer
Const GWL_STYLE = (-16)
Const WS_THICKFRAME = &H40000
Const WS_CHILD = &H40000000
Const SWP_DRAWFRAME = &H20
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const SWP_NOZORDER = &H4
######################################################
32Bit
Private Declare Function GetWindowLong Lib "user32" Alias
"GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
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 SetWindowPos Lib "user32" Alias
"SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As
Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const GWL_STYLE = (-16)
Const WS_THICKFRAME = &H40000
Const WS_CHILD = &H40000000
Const SWP_FRAMECHANGED = &H20
Const SWP_DRAWFRAME = SWP_FRAMECHANGED
Const SWP_NOMOVE = &H2
Const SWP_NOSIZE = &H1
Const SWP_NOZORDER = &H4
######################################################
Nun sind die Grundlagen geschaffen, als nächstes, müssen Sie nur noch für alle Objekte
die einen solchen Rahmen erhalten sollen, im Abschnitt
Form/Load 'folgende Anweisungen eintragen.
Style& = GetWindowLong(IhrObjekt.hWnd, GWL_STYLE)
Style& = Style& Or WS_THICKFRAME
Style& = SetWindowLong(IhrObjekt.hWnd, GWL_STYLE, Style&)
ret% = SetWindowPos(IhrObjekt.hWnd, Form1.hWnd, 0, 0, 0, 0, SWP_NOZORDER Or
SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME)
Für IhrObjekt tragen Sie Command1 oder Option1 oder oder oder... ein. |