Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
m = new Fl_Menu_Bar(0, 0, 640, 25);
m->copy(MenuEng);
m->box(FL_UP_BOX);
m->textcolor(FL_BLUE);
m->textfont(FL_TIMES);
m->textsize(FONT_SIZE);
fc = new Fl_File_Chooser(".", "*.{txt,cpp}", Fl_File_Chooser::SINGLE, "File_Chooser_Dialog");
window->show();
window->callback( (Fl_Callback *)quit_cb, window );
return Fl::run();
}
Кто есть кто в данном примере? Подключаются только необходимые файлы из комплекта FLTK. В нашем случае – это Fl.H, Fl_Window.H, Fl_Menu_Bar, Fl_File_Chooser.H. Первый файл необходимо включать при создании любого приложения на FLTK, второй отвечает за создание объекта Fl_Window *window. Понятно, что для создания объекта Fl_Menu_Bar *m мы подключили FL_Menu_Bar. Идеология достаточно понятна на данном этапе.
Далее мы объявляем глобальные переменные m, fc – доступ к классам этих объектов будет производиться не только из функции main().
Следующим шагом идет объявление callback-функций. Они отвечают за реакцию на события. В нашем примере fc_callback(), open_cb() участвуют в процессе открытия файлового диалога, а функция quit_cb() отвечает за завершение всего приложения.
Далее мы заполняем структуру меню.
{"&File", 0, 0, 0, FL_SUBMENU },
{ "&Open", FL_CTRL + 'o', (Fl_Callback *)open_cb },
{ "&Save", FL_CTRL + 's', 0 },
{ "E&xit", FL_CTRL + 'q', (Fl_Callback *)quit_cb, 0 },
{ 0 },
В частности данный элемент означает следующее – создается пункт в меню под названием «File». При этом быстрый вызов осуществляется по клавише <Alt+F> (на что указывает знак амперсанда – «&File»). В состав пункта «File» входят следующие подпункты – «Open», «Save», «Exit». Горячая клавиша указывается в шаблоне вида FL_CTRL + «X», где «X» – название клавиши.
В данном случае при нажатии на клавишу <Ctrl+O> будет вызвана callback-фунция open_cb(). Если на месте callback-функции «0», то никакая функция не привязана к данному событию.
Переходим к функции main(). В её теле мы создаем объект окна Fl_Window *window. Инициализируем его с параметрами (300, 300, «Sample») – соответственно ширина, высота, заголовок окна. Также создается и инициализируется объект типа меню. В этом объекте изменяются тип шрифта и его размер. Инициализируем объект Fl_File_Chooser.