Сообщение WM_STYLECHANGED

Const WM_STYLECHANGED = &H7D

Сообщение WM_STYLECHANGED посылается окну при изменениях стилей окна


Возвращаемое значение

Сообщение WM_STYLECHANGED должно возвращать 0

Параметры

wParam
Следующие флаги, определяющие изменяемые стили:
GWL_EXSTYLE
Изменен расширенный стиль окна
GWL_STYLE = (-16)
Изменен стиль окна
lParam
Указатель на структуру STYLESTRUCT, содержащий новые стили для окна. Приложение может проверить стили окна, но не изменять их

Пример

' Изменяем вид значков на Рабочем столе
' Добавьте на форму ComboBox
Public Sub DesktopStyle(NewStyle As enumDesktopStyle)

Dim hWnd As Long
Dim BinStyle As STYLESTRUCT

' Ищем Program Manager
hWnd = FindWindow("Progman", "Program Manager")
' Получим дочернее окно для Program Manager
hWnd = GetWindow(hWnd, GW_CHILD)
' Получим окно, отображающее значки
hWnd = GetWindow(hWnd, GW_CHILD)

' Меняем стили окна
BinStyle.hOld = GetWindowLong(hWnd, GWL_STYLE)
BinStyle.hNew = BinStyle.hOld
BinStyle.hNew = BinStyle.hNew And Not LVS_TYPEMASK
BinStyle.hNew = BinStyle.hNew Or NewStyle

SendMessage hWnd, WM_STYLECHANGED, GWL_STYLE, BinStyle

End Sub

Private Sub cmbListViews_Click()
DesktopStyle cmbListViews.ListIndex
End Sub

Private Sub Form_Load()
cmbListViews.AddItem "#2 Small Icon View"
cmbListViews.AddItem "#0 Large Icon View (Default)"
cmbListViews.AddItem "#3 List View (Buggy)"
cmbListViews.AddItem "#1 Report View"
cmbListViews.Text = "#0 Large Icon View (Default)"
End Sub

Смотри также

WM_STYLECHANGING

Категория

Окна