Treeview/Listview SetWindowTheme(hwndList, L"Explorer", NULL); - VB
Формулировка задачи:
Собственно, как это сделать на других языках я нашел, например:
http://www.codeproject.com/KB/vista/themedvistacontrols.aspx?msg=2780811
Перевел, как смог, на VB6 (готовых примеров не накопал)
Пока не фурычит.
Предполагаю ошибки в
Private Declare Function SetWindowTheme
а также в константах
Private Const TVS_EX_FADEINOUTEXPANDOS = &H40 '0x0040
Private Const TVS_EX_AUTOHSCROLL = &H20 '0x0020
Манифест естественно внедрен и испытания на Висте.
Идеи будут?
Решение задачи: «Treeview/Listview SetWindowTheme(hwndList, L"Explorer", NULL);»
textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> Form_Load() OldListWindowProc = SetWindowLong(ListView1.hwnd, GWL_WNDPROC, _ <font color="blue">AddressOf</font> NewListWindowProc) <font color="blue">Public</font> <font color="blue">Function</font> NewListWindowProc(<font color="blue">ByVal</font> hwnd <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> Msg <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> wParam <font color="blue">As</font> <font color="blue">Long</font>, <font color="blue">ByVal</font> lParam <font color="blue">As</font> <font color="blue">Long</font>) <font color="blue">As</font> <font color="blue">Long</font> <font color="00AA00">'для событий listview</font> <font color="blue">If</font> (Msg = &HF) <font color="blue">Then</font> <font color="00AA00">'WM_PAINT</font> <font color="00AA00">'Debug.Print <font color="teal">"WM_PAINT"</font></font> Form1.RedrawHeaders <font color="blue">End</font> <font color="blue">If</font> NewListWindowProc = CallWindowProc( _ OldListWindowProc, hwnd, Msg, wParam, _ lParam) <font color="blue">End</font> <font color="blue">Function</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д