Все о toolbar!!! [ВОПРОС]

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Все о toolbar!!! [ВОПРОС]

Сообщение PViP »

Захотелось сделать toolbar в интерфейсе!

По vipprog.chm разборался как что делается, но пару моментов не нашел!

1. Как вставить разделитель в инструментальную панель(черта разделитель между кнопками)?

2. Как сделать чтобы кнопка была зажата(тоесть появился эффект переключателя зажата/отжата)?
На этот счет обнаружил такую функцию

Код: Выделить всё

function ShowToolButtonEx(toolBarID : longInt;
                          buttonName : string;
                          flags : word
                         ) : word

но заставить ее работать не получается :(

Вот пример моего фейса

Код: Выделить всё

#commands start at 7800
const
cmGoToForm   = 7701;
cmGoToFilter = 7702;
cmGoToReport = 7703;
end;

bmp1 bitmap "Заявки.bmp"
bmp2 bitmap "Фильтры.bmp"
bmp3 bitmap "Отчеты.bmp"

toolBar ZyavkaToolBar {
  button1 = cmGoToForm, bmp1,"ЗАЯВКИ";
  button2 = cmGoToFilter, bmp2, "ФИЛЬТРЫ";
  button3 = cmGoToReport, bmp3, "ОТЧЕТЫ";
};

interface ifcMakeZayavka 'Заявки' sci3InsPMcIns), cyan;
    show at (,,100,30);
    toolbar ZyavkaToolBar;

var ZyavkaToolBar : longInt;

create view vMain 
 ActivSheet : word;
;

procedure SetSheet(Number : word);
{
      ShowToolButtonEx(ZyavkaToolBar, case(MainView.ActivSheet; 1 : 'button1', 2 : 'button2', 3 : 'button3'; '' ), TB_CHECKED);
      set vMain.ActivSheet := Number;
      ShowToolButtonEx(ZyavkaToolBar, case(MainView.ActivSheet; 1 : 'button1', 2 : 'button2', 3 : 'button3'; '' ), TB_CHECKED);
}    
  HandleEvent
    cmInit : {
       ZyavkaToolBar := LoadToolBarEx ('ZyavkaToolBar');
    }
    cmGoToFilter : {
      SetSheet(2);
    }
    cmGoToForm : {
      SetSheet(1);
    }
    cmGoToReport : {
      SetSheet(3);
    }
  end;
end.
PViP
Местный житель
Сообщения: 254
Зарегистрирован: 08 июн 2007, 08:26
Откуда: Красноярск
Контактная информация:

Сообщение PViP »

Ответ 1: цитата с forum.galaktika.by от пользователя Леонид Поликутин
то разделитель между двумя тулбарами, в каждом из которых
объеденены инструментальные средства близкие по смыслу.


interface ifcMakeZayavka 'Заявки' sci3InsPMcIns), cyan;
show at (,,100,30);
toolbar
ZyavkaToolBar
, ZyavkaToolBar
, ZyavkaToolBar;

Вот и получите разделитель.

И в доке это есть.
Использование ToolBar'а

Ссылка на ToolBar:

toolBar ([<компонент>::]<название> | '<название>')
[, ([<компонент>::]<название> | '<название>')];
[<компонент>::]<название> - идентификатор существующего и описанного до или после ссылки ToolBar'а. При поиске соответствующего ToolBar'а при загрузке программы сначала ищутся локальные ToolBar'ы, а затем глобальные. Если <компонент> не задан, инструментальная панель ищется в текущем компоненте. Опция <компонент> введена начиная с Атлантис 5.1.25.
Ответить