Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести / 5 сообщений из 5, страница 1 из 1
12.05.2010, 04:23
    #36622242
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести
Ну т.е. похоже для Vista для Treeview TVS_EX_DOUBLEBUFFER тоже нужен, подмаргивает скотина, если дерево не из трех пунктов, а из 20. если Treeview в стиле explorer. Пол-гогла перерыл , везде
TVS_EX_DOUBLEBUFFER = 0x0004
и для паскаля =$4, а как это в &HХЗ записать?
И есть ли инструмент для перевода констант.
Код: plaintext
1.
2.
Public Const TVS_EX_FADEINOUTEXPANDOS = &H40
Public Const TVS_EX_AUTOHSCROLL = &H20
Public Const TVS_EX_DOUBLEBUFFER = <Х.З>
...
Рейтинг: 0 / 0
12.05.2010, 04:48
    #36622248
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести
Вроде угадал, больше не подмигивает:

Код: plaintext
1.
2.
Public Const TVS_EX_FADEINOUTEXPANDOS = &H40
Public Const TVS_EX_AUTOHSCROLL = &H20
Public Const TVS_EX_DOUBLEBUFFER = &H4

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    If IsWinVista And ThemesEnabled(TreeView1.hWnd) Then 'стиль для Висты
        SetWindowTheme TreeView1.hWnd, StrPtr("explorer"),  0 
        'линии не нужны - не стильно,гориз. scroll не нужен
        SetWindowLong TreeView1.hWnd, GWL_STYLE, GetWindowLong(TreeView1.hWnd, GWL_STYLE) Or TVS_HASBUTTONS Or TVS_LINESATROOT Or TVS_NOHSCROLL
        'применяем горизонт. авто-scroll и фейдер (стрелка что вместо +/- растворится при потере фокуса формой)
        lStyle = SendMessage(TreeView1.hWnd, TVM_GETEXTENDEDSTYLE,  0 ,  0 )
        lStyle = lStyle Or TVS_EX_FADEINOUTEXPANDOS Or TVS_EX_AUTOHSCROLL Or TVS_EX_DOUBLEBUFFER
        Call SendMessageLong(TreeView1.hWnd, TVM_SETEXTENDEDSTYLE,  0 , ByVal lStyle)
    ElseIf IsWinVista Then
        SetWindowLong TreeView1.hWnd, GWL_STYLE, GetWindowLong(TreeView1.hWnd, GWL_STYLE) Or TVS_HASBUTTONS Or TVS_LINESATROOT Or TVS_HASLINES
        lStyle = SendMessage(TreeView1.hWnd, TVM_GETEXTENDEDSTYLE,  0 ,  0 )
        lStyle = lStyle Or TVS_EX_DOUBLEBUFFER
        Call SendMessageLong(TreeView1.hWnd, TVM_SETEXTENDEDSTYLE,  0 , ByVal lStyle)
    Else
        'добавляем линии в классич/XP стиле (для root с манифестом они не добавятся)
        SetWindowLong TreeView1.hWnd, GWL_STYLE, GetWindowLong(TreeView1.hWnd, GWL_STYLE) Or TVS_HASBUTTONS Or TVS_LINESATROOT Or TVS_HASLINES
    End If
...
Рейтинг: 0 / 0
12.05.2010, 11:30
    #36622674
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести
На будущее, 0х = &H.
...
Рейтинг: 0 / 0
12.05.2010, 11:46
    #36622728
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести
Antonariy,
можно уточню?
0х = &H

0x0004=>&H4
0x0040=>&H40
0x0400=>&H400
0x0444=>&H444
0x0abc=>&HABC

Так? То что мог написать глупось, осознаю.
Там же не десятичное, а 8,16, не помню я этой теории короче...один раз только про отправку СМС в Юникод прогу писал, тогда чего-то соображал еще...
...
Рейтинг: 0 / 0
12.05.2010, 11:50
    #36622744
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести
Все написано правильно.
0х это синтаксически сишное представление шестнадцатеричных чисел.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как TVS_EX_DOUBLEBUFFER = 0x0004 на русско-vb-шный перевести / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]