Шаг 13.
Visual Prolog.
Эксперт панели инструментов

    На этом шаге мы рассмотрим эксперт панели инструментов.

    Чтобы добавить панель инструментов, мы нажимаем кнопку Toolbars для вызова эксперта панели инструментов, при помощи которого к окну можно добавить панели инструментов (рис. 1).


Рис.1. Присоединение панелей инструментов к окнам

    Обратите внимание, что вы можете добавить более одной панели инструментов к окну, хотя в нашем примере достаточно добавить одну панель Sweep.

    Диалоговое окно эксперта панели инструментов выполняет две различные операции:


Рис.2. Добавление кода к панели инструментов

    После назначения Sweep toolbar окну Sweep, вам следует выбрать исходный модуль, который будет содержать исходный код для данной панели (при помощи кнопки раскрытия списка Module). В нашем примере код панели инструментов должен находиться в модуле Sweep.pro.

    Нажмите кнопку Default code для генерации необходимого кода. Если вы войдете в редактор и изучите сгенерированный код, то увидите следующий текст:

   %BEGIN_TLB Sweep toolbar, 22.11.2006, Code automatically updated!
   /******************************************************
   Создание панели инструментов: панель инструментов Sweep
   ******************************************************/
   clauses
      tb_sweep__toolbar_Create(_Parent) :-
         ifdef use_tbar
           toolbar_create(tb_nght,0x808080,_Parent,
               [tb_ctrl(id_clear,pushb,idb_mybmp_norm,idb_mybmp_down,
                 idb_mybmp_down,"",1,1)]),
     enddef
        true. 
   %END_TLB Sweep toolbar

    Следующим шагом будет создание кода для окна Sweep; при помощи комбинации клавиш <Ctrl>+<W> вызовите эксперт окон и диалоговых окон (рис. 3).


Рис.3. Эксперт окон и диалоговых окон генерирует код для окна

    Сначала нужно выбрать надлежащее окно (или диалоговое окно), с котором мы хотим работать (в данном случае это окно Sweep). Затем необходимо выбрать исходный модуль для кода (Sweep.pro). Когда параметры будут установлены правильно, нажмите кнопку Default code, чтобы добавить код Visual Prolog по умолчанию для обработки окна.

    Теперь, когда мы закончили создавать окно, нужно активизировать его. В нашем приложении мы создаем окна из подменю Test в меню Task, поэтому необходимо войти в редактор меню и добавить дополнительную команду Sweep Window (рис. 4).


Рис.4. Меню Test с добавленной командой Sweep Window

    Теперь, как обычно, войдите в редактор окон и диалоговых окон и добавьте предложение для создания окна Sweep. Это окно должно создаваться, когда событие при вызове меню Test | Sweep Window приходит в окно Task (рис. 5).


Рис.5. Добавление предложения для вызова окна Sweep

    После того как будут нажаты кнопки Add Clause и Edit Clause, вы окажетесь в редакторе на соответствующем предложении. Нажмите комбинацию клавиш <Shift>+<Ctrl>+<W>, чтобы вызвать диалоговое окно, из которого вы можете вставить вызов на создание окна Sweep. He забудьте переместить курсор редактора в начало второй строки.

   task_win_eh(_Win, e_Menu(id_Test_sweep_window,_ShiftCtlAlt),0):-!,
   win_sweep_Create(_Win),
   !.

    Теперь запустите приложение и посмотрите, что произойдет после выбора команды Test | Sweep Window (рис. 6).


Рис.6. Вызов окна Sweep в первый раз

    Ваше окно Sweep должно появиться с добавленной панелью инструментов. Посмотрите критически на меню после того, как активизируется окно Sweep. Меню в окне Task изменилось, появилось локальное меню для окна Sweep (Sweep menu). Это обычное поведение MS Windows в режиме MDI. Когда фокус ввода устанавливается на окне документа, окно контейнера MDI показывает меню для активного окна. (Поведение меню различно для разных платформ GUI). Когда вы устанавливаете фокус на данное окно, меню поменяется на меню, связанное с этим окном. Заметим, что, находясь в окне Sweep, вам придется щелкнуть мышью на окне Message (для возвращения Task menu), чтобы можно было активизировать окно Cross.

    Обратите внимание, что текущая версия пакета TOOLBAR получает цвет фона панели инструментов из параметров настройки Windows (игнорируя цвет, указанный в редакторе панели инструментов).

    Созданное приложение можно взять здесь (391,0 Кб)

    На следующем шаге мы рассмотрим рисование с помощью мыши в окне Sweep.




Предыдущий шаг Содержание Следующий шаг