Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CreateToolbarEx [D6, WinME]


SPeller ©   (2002-07-24 19:08:00) 

Всем доброго времени суток! Не доскажете ли пример создания тулбара через CreateToolbarEx. А то я пытался но не вышло. Вот как делал:
(ради примера хотел сделать с одной кнопкой)

var t:ttbbutton; hbm:longint;

hbm:=LoadImage(0,"C:\Img\Open.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
t.iBitmap:=0;
t.idCommand:=2;
t.fsState:=0;
t.fsStyle:=TBSTYLE_BUTTON;
t.bReserved[1]:=0;
t.bReserved[2]:=0;
t.dwData:=5;
t.iString:=0;

htb:=CreateToolbarEx(Form.Handle,WS_CHILD or WS_VISIBLE or TBSTYLE_ALTDRAG,0,1,0,hbm,@t,1,20,20,16,16,sizeof(t));


Чего здесь не хватает?


SPeller   (2002-07-25 15:38:00) [1]

Спасибо. Скоро ещё приду :-)))


Eugene Lachinov   (2002-07-25 15:32:00) [2]

htb:=CreateToolbarEx(Form1.Handle,TBSTYLE_FLAT or WS_VISIBLE or WS_CHILD,0,1,0,hbm,@t[0],5,17,17,16,16,sizeof(ttbbutton));


SPeller   (2002-07-25 14:55:00) [3]

Блин, ну почему в хелпе нет этих констант?

Тут вот ещё гемор: пытаюсь сделать несколько кнопок - не выходит:

procedure TForm1.Button1Click(Sender: TObject);
var t:array[0..4] of ttbbutton;
begin
hbm:=LoadImage(0,"C:\UniTest\Img\Open.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
t[0].iBitmap:=0;
t[0].idCommand:=2;
t[0].fsState:=TBSTATE_ENABLED;
t[0].fsStyle:=TBSTYLE_BUTTON;
t[0].bReserved[1]:=0;
t[0].bReserved[2]:=0;
t[0].dwData:=5;
t[0].iString:=0;

t[1].iBitmap:=0;
t[1].idCommand:=3;
t[1].fsState:=TBSTATE_ENABLED;
t[1].fsStyle:=TBSTYLE_BUTTON;
t[1].bReserved[1]:=0;
t[1].bReserved[2]:=0;
t[1].dwData:=6;
t[1].iString:=0;

t[2].iBitmap:=0;
t[2].idCommand:=4;
t[2].fsState:=TBSTATE_ENABLED;
t[2].fsStyle:=TBSTYLE_BUTTON;
t[2].bReserved[1]:=0;
t[2].bReserved[2]:=0;
t[2].dwData:=7;
t[2].iString:=0;

t[3].iBitmap:=0;
t[3].idCommand:=5;
t[3].fsState:=TBSTATE_ENABLED;
t[3].fsStyle:=TBSTYLE_SEP;
t[3].bReserved[1]:=0;
t[3].bReserved[2]:=0;
t[3].dwData:=8;
t[3].iString:=0;

t[4].iBitmap:=0;
t[4].idCommand:=6;
t[4].fsState:=TBSTATE_ENABLED;
t[4].fsStyle:=TBSTYLE_BUTTON;
t[4].bReserved[1]:=0;
t[4].bReserved[2]:=0;
t[4].dwData:=9;
t[4].iString:=0;

htb:=CreateToolbarEx(Form1.Handle,TBSTYLE_FLAT or WS_VISIBLE or WS_CHILD,0,1,0,hbm,@t[0],5,17,17,16,16,sizeof(t));
button1.Enabled:=false;

end;


Вылазит ексепшин. Где грабли? Помогите пожалуйста!


Eugene Lachinov   (2002-07-25 14:19:00) [4]

Наверно, добавить стиль TBSTYLE_FLAT к TBSTYLE_ALTDRAG


SPeller   (2002-07-25 13:59:00) [5]

Действительно, на кнопке работает. Я писал на KOL и в обработчике FormCreate оно не хотело создаваться. Тперь другой вопрос: как сделать плоские кнопки?


Eugene Lachinov   (2002-07-25 08:48:00) [6]

>SPeller
У меня все создалось и показалось, правда, на Windows 2000, в какой момент выполнялся этот код, я пробовал по нажатию кнопки.


SPeller   (2002-07-25 05:34:00) [7]

Нет, проблема была в том, что тулбар вообще не создавался, переменная htb после вызова функции обращалась в 0, что говорит что в параметрах что-то не так.


Eugene Lachinov   (2002-07-24 19:37:00) [8]

Если проблема в том, что кнопка не нажималась
t.fsState:=TBSTATE_ENABLED;


Наверх

Титульная страница Поиск, карта сайта Написать письмо