Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Toolbar кнопки плоские сделать? / 8 сообщений из 8, страница 1 из 1
13.04.2010, 03:15
    #36575361
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Form_Load()
    Const WM_USER = &H400
    Const TB_SETSTYLE = WM_USER +  56 
    Const TB_GETSTYLE = WM_USER +  57 
    Const TBSTYLE_FLAT = &H800
    Const TBSTYLE_TRANSPARENT = &H8000&
    Dim lStyle As Long
    lStyle = SendMessage(Toolbar1.hWnd, TB_GETSTYLE,  0 &, ByVal  0 &)
    lStyle = lStyle Or TBSTYLE_FLAT 'Or TBSTYLE_TRANSPARENT
    Call SendMessage(Toolbar1.hWnd, TB_SETSTYLE,  0 , ByVal lStyle)
End Sub
Так не получается.
Понятно, что я спрашиваю не о 6-х контролах, а о 5-х.
...
Рейтинг: 0 / 0
13.04.2010, 03:39
    #36575364
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
    ByVal wCmd As Long)  As Long
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 Const GW_CHILD =  5 
Private Const GWL_STYLE = (- 16 )
Private Const TB_STYLE_FLAT = &H848

Private Sub Form_Load()
    Dim hToolbar As Long
    hToolbar = GetWindow(tbarMyToolbar.hwnd, GW_CHILD)
    SetWindowLong hToolbar, GWL_STYLE, GetWindowLong(hToolbar, _
        GWL_STYLE) Or TB_STYLE_FLAT
End Sub
Какой-то он не такой, место свободное под кнопками появилось откуда-то..
...
Рейтинг: 0 / 0
13.04.2010, 03:43
    #36575365
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
http://www.devx.com/vb2themax/Tip/18310
Language: VB4/32,VB5
August 28, 1999
Назад в будущее, блин. Даешь Windows 7.
...
Рейтинг: 0 / 0
13.04.2010, 04:16
    #36575370
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
Так у меня высота Toolbar была 360, а прыгнула на 420.
Видимо потому что это минимум для стандартного при моих размерах картинок.
Как ему сделать -60 через API?, серая полоса внизу явно лишняя, в Background оно уходить не хочет, т.е. трюк с "прикрыть нижнюю часть" не получается. Для формы стоит ScaleMode=0 (user)
Видимо TwipToPixelY, но все равно надо понять как ее уменьшить.
...
Рейтинг: 0 / 0
13.04.2010, 12:29
    #36576117
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
тулбар проще нарисовать свой из обычных кнопок или своих activex, тк бороться тебе ещё много придётся с mscomctl-овским тулбаром
...
Рейтинг: 0 / 0
13.04.2010, 12:49
    #36576190
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
Konst_Oneтк бороться тебе ещё много придётся с mscomctl-овским тулбаром
Стоп, с ms comctl-овским у меня все в шоколаде как раз.
Боремся мы с comctl -овским, который без ms!!!
И задача сделать его высоту 420->360.

Напомню, что причина борьбы:захотелось полной поддержки xp/vista стилей, а с ms comctl это нереально.
...
Рейтинг: 0 / 0
13.04.2010, 13:03
    #36576235
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
Я думаю, по крайней мере тулбар стоит заменить на чисто апишный. Если их не много. С апишным можно делать что угодно.
Крестики с дискетами на скриншоте — это тоже тулбар. Причем один, а не 4.

Jah loves you.
...
Рейтинг: 0 / 0
13.04.2010, 13:08
    #36576257
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Toolbar кнопки плоские сделать?
Дмитрий77Konst_Oneтк бороться тебе ещё много придётся с mscomctl-овским тулбаром
Стоп, с ms comctl-овским у меня все в шоколаде как раз.
Боремся мы с comctl -овским, который без ms!!!
И задача сделать его высоту 420->360.

Напомню, что причина борьбы:захотелось полной поддержки xp/vista стилей, а с ms comctl это нереально.

тот не лучше в плане контроля извне. background реально сложно исправить, на счёт высоты не могу сказать, уже не помню делал ли . давно не юзал этот контрол.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Toolbar кнопки плоские сделать? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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