Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.
Vzhled Control prvků jako v Office 2000 |
Autor: Kočí Marek
| Zdroj:
| Vytvořeno: 10.1.2003
| Publikováno: 10.1.2003
| Čtenářů: 2597
| Unikátních: 2545
|
Potřebujete změnit vzhled objektů jako v Office 2000? Dá se to naprogramovat velice efektně pomocí API funkcí.
Příklad kódu:
Na formulář vložte několik textBoxů, ScrolBarů, PictureBoxu a následující kód.
Option Explicit
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_CLIENTEDGE = &H200
Private Const WS_EX_STATICEDGE = &H20000
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOOWNERZORDER = &H200
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOZORDER = &H4
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" _
(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
Private Function AddOfficeBorder(ByVal hWnd As Long)
Dim lngRetVal As Long
lngRetVal = GetWindowLong(hWnd, GWL_EXSTYLE)
lngRetVal = lngRetVal Or WS_EX_STATICEDGE And Not _
WS_EX_CLIENTEDGE
SetWindowLong hWnd, GWL_EXSTYLE, lngRetVal
SetWindowPos hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE Or _
SWP_NOSIZE Or SWP_NOOWNERZORDER Or _
SWP_NOZORDER Or SWP_FRAMECHANGED
End Function
'A takto se nastaví na všechny ovladací prvky
Private Sub Form_Load()
On Error Resume Next
Dim objcntrl As Control
For Each objcntrl In Me.Controls
With objcntrl
.BorderStyle = 0
.Appearance = 0
End With
AddOfficeBorder objcntrl.hWnd
Next
End Sub
|