Toolbar.Бутоны

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Toolbar.Бутоны

Сообщение BION » 29.11.2008 (Сб) 10:32

Имею тулбар, точнее он меня — нужно сделать одну кнопку с текстом, другую без, т.е только с иконкой, НО, все кнопки автоматом тяноутся на одинаковую длину!
Как это побороть? Много тулбаров — не вариант.
Заранее поклон Вам.
Буээ!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Toolbar.Бутоны

Сообщение Antonariy » 29.11.2008 (Сб) 11:42

Нужно с помощью апи установить стиль (TBSTYLE_LIST вроде) чтобы подписи были справа. Если подписи снизу, будут тянуться в любом случае.
Лучший способ понять что-то самому — объяснить это другому.

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Re: Toolbar.Бутоны

Сообщение BION » 29.11.2008 (Сб) 12:12

Чета не делается, т.е. флэт и текст справа делает, а автосайз не хочет.
Код: Выделить всё
Option Explicit

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) 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 GWL_STYLE = (-16)
Private Const TBSTYLE_AUTOSIZE = &H10

Private Const TBSTYLE_LIST = &H1000
Private Const TBSTYLE_FLAT = &H800

......

Dim lStyle As Long
Dim lTB As Long
lTB = FindWindowEx(tbrMain.hwnd, 0&, vbNullString, vbNullString)
lStyle = GetWindowLong(lTB, GWL_STYLE)
SetWindowLong lTB, GWL_STYLE, lStyle Or TBSTYLE_FLAT Or TBSTYLE_AUTOSIZE Or TBSTYLE_LIST
Буээ!

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Toolbar.Бутоны

Сообщение Alexanbar » 29.11.2008 (Сб) 13:14

Там внутри тулбара сидит другое окно класса msvb_lib_toolbar. Возможно, что стиль надо менять для этого окна:

Код: Выделить всё
hwnd = FindWindowEx(toolbar1.hwnd, 0, "msvb_lib_toolbar", "")

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Re: Toolbar.Бутоны

Сообщение BION » 29.11.2008 (Сб) 13:21

Alexanbar писал(а):Там внутри тулбара сидит другое окно класса msvb_lib_toolbar. Возможно, что стиль надо менять для этого окна:

Код: Выделить всё
hwnd = FindWindowEx(toolbar1.hwnd, 0, "msvb_lib_toolbar", "")


Нет, ничего не изменилось.
Вобщем, ну её нафик, поставлю пикчу и налеплю свои флэтбатаны, время — деньги.
Буээ!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Toolbar.Бутоны

Сообщение Antonariy » 29.11.2008 (Сб) 15:42

Естественно не изменилось. msvb_lib_toolbar это ошибка природы, шестые контролы. Я подразумевал пятые.
И кстати да, само окно тулбара ToolbarWindow32, которому нужно ставить стиль, завернуто в ToolbarWndClass, которое возвращается свойством Toolbar.hWnd.
Лучший способ понять что-то самому — объяснить это другому.

RazArt
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 118
Зарегистрирован: 08.09.2008 (Пн) 14:55
Откуда: Н.Новгород

Re: Toolbar.Бутоны

Сообщение RazArt » 30.11.2008 (Вс) 10:44

BION, а почему бы не создать новый активикс?

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Re: Toolbar.Бутоны

Сообщение BION » 30.11.2008 (Вс) 11:23

RazArt писал(а):BION, а почему бы не создать новый активикс?


Зачем? Если есть альтернатива.
Буээ!

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Toolbar.Бутоны

Сообщение VBTerminator » 30.11.2008 (Вс) 11:52

Чтобы не мучаться каждый раз ни тебе, ни другим.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Re: Toolbar.Бутоны

Сообщение Alexanbar » 30.11.2008 (Вс) 12:17

Вот как раз с созданием нового контрола и придётся помучиться. И довольно долго.

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Re: Toolbar.Бутоны

Сообщение BION » 30.11.2008 (Вс) 13:56

Alexanbar писал(а):Вот как раз с созданием нового контрола и придётся помучиться. И довольно долго.


Вот-вот, а время — нынче штука дорогая.
Буээ!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 110

    TopList