WinBinder. Создание форм
Автор: Притолюк Максим (f0rm4t@satka.ru)
Смотрите также: Знакомство с WinBinder
Единственное назначение библиотеки WinBinder – создание GUI-форм для Windows.
Любое окно, будь оно родительским или всплывающим, создается функцией wb_create_window. Она находится в самой библиотеке. Чтобы использовать эту функцию, необходимо подключить к проекту файл winbinder.php, который находится в каталоге phpcode/include.
Синтаксис функции таков:
Первый параметр – parent - имя окна родителя. Если создается главное окно, то должно быть пустым, то есть NULL.
Второй – wclass – класс окна. Вот список доступных значений:
Для позиционирования окна по центру можно использовать константу WBC_CENTER. Список всех доступных констант приведен в официальном мануале или на сайте разработчиков библиотеки по адресу http://winbinder.org/manual/reference/constants.html.
Ниже находится исходный код пустой формы.
В этом примере, кроме функции wb_create_window (), есть еще одна - wb_main_loop ().
Она заставляет программу постоянно находиться в памяти, и не выгружаться до тех пор, пока не будет вызвана функцияwb_destroy_window (). Здесь не обрабатываются никакие события, поэтому функция wb_destroy_window () не используется. Но если вы хотите использовать какие-нибудь компоненты, и хотите, чтобы они выполняли какие-либо действия, то должны создать функцию обработки событий.
Например:
Функция wb_create_control создает на окне [parent] компонент [ctlclass], с заголовком или текстом [caption], с отступом от левого края [xpos] и от правого края [ypos], с шириной [width] и высотой [height], ID которого равен [id].
Подробнее в мануале по адресу http://winbinder.org/manual/functions/wb_create_control.html.
Обратите особое внимание на функцию wb_set_handler ().
Она связывает окно [window] c функцией-обработчиком событий [fn_handler].
Рекомендую посмотреть официальный мануал. Он содержит описание все доступных функций. К сожалению, он доступен только на английском языке и не содержит описания констант.
Любое окно, будь оно родительским или всплывающим, создается функцией wb_create_window. Она находится в самой библиотеке. Чтобы использовать эту функцию, необходимо подключить к проекту файл winbinder.php, который находится в каталоге phpcode/include.
Синтаксис функции таков:
int wb_create_window (int parent, int wclass, string [caption], int [xpos], int [ypos], int [width], int [height], int [style], int [param]);
Первый параметр – parent - имя окна родителя. Если создается главное окно, то должно быть пустым, то есть NULL.
Второй – wclass – класс окна. Вот список доступных значений:
ResizableWindow - простое окно;
AppWindow – окно определенного размера;
NakedWindow – окно определенного размера, без рамки и заголовка;
ModalDialog – всплывающее окно, блокирующее работу программы до его закрытия;
ModelessDialog – простое всплывающее окно;
PopupWindow – еще одно простое всплывающее окно;
ToolDialog – всплывающее окно с маленьким заголовком.
Затем идет заголовок окна, позиция по горизонтали, позиция по вертикали, ширина, высота, стиль окна и его параметры.AppWindow – окно определенного размера;
NakedWindow – окно определенного размера, без рамки и заголовка;
ModalDialog – всплывающее окно, блокирующее работу программы до его закрытия;
ModelessDialog – простое всплывающее окно;
PopupWindow – еще одно простое всплывающее окно;
ToolDialog – всплывающее окно с маленьким заголовком.
Для позиционирования окна по центру можно использовать константу WBC_CENTER. Список всех доступных констант приведен в официальном мануале или на сайте разработчиков библиотеки по адресу http://winbinder.org/manual/reference/constants.html.
Ниже находится исходный код пустой формы.
<?phpinclude "E:/WB/phpcode/include/winbinder.php"; wb_create_window (NULL, AppWindow, "Пустая форма", 380, 280); wb_main_loop ();?>
В этом примере, кроме функции wb_create_window (), есть еще одна - wb_main_loop ().
Она заставляет программу постоянно находиться в памяти, и не выгружаться до тех пор, пока не будет вызвана функцияwb_destroy_window (). Здесь не обрабатываются никакие события, поэтому функция wb_destroy_window () не используется. Но если вы хотите использовать какие-нибудь компоненты, и хотите, чтобы они выполняли какие-либо действия, то должны создать функцию обработки событий.
Например:
<?phpinclude "E:/WB/phpcode/include/winbinder.php"; $mainwin = wb_create_window (NULL, AppWindow, "Пустая форма", 380, 280); wb_create_control ($mainwin, PushButton, "Click Me", 10, 10, 100, 25, 1); wb_set_handler($mainwin, "process_main"); wb_main_loop ();
function process_main($window, $id){
switch($id) {
case 1:wb_message_box ($window, "Сегодня ".date("d M Y")." года", "Message Box", WBC_OK);
break;
case IDCLOSE:wb_destroy_window($window);
break;
}
}?>
int wb_create_control (int parent, int ctlclass , mixed [caption], int [xpos], int [ypos], int [width], int [height], int [id], int [style], int [param], int [ntab]);
Функция wb_create_control создает на окне [parent] компонент [ctlclass], с заголовком или текстом [caption], с отступом от левого края [xpos] и от правого края [ypos], с шириной [width] и высотой [height], ID которого равен [id].
Подробнее в мануале по адресу http://winbinder.org/manual/functions/wb_create_control.html.
Обратите особое внимание на функцию wb_set_handler ().
int wb_set_handler (int window, string fn_handler);
Она связывает окно [window] c функцией-обработчиком событий [fn_handler].
Рекомендую посмотреть официальный мануал. Он содержит описание все доступных функций. К сожалению, он доступен только на английском языке и не содержит описания констант.