Единственное назначение библиотеки WinBinder – создание GUI-форм для Windows.
Любое окно, будь оно родительским или всплывающим, создается функцией 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 – всплывающее окно с маленьким заголовком.
Затем идет заголовок окна, позиция по горизонтали, позиция по вертикали, ширина, высота, стиль окна и его параметры.
Для позиционирования окна по центру можно использовать константу
WBC_CENTER. Список всех доступных констант приведен в официальном мануале или на сайте разработчиков библиотеки по адресу
http://winbinder.org/manual/reference/constants.html.
Ниже находится исходный код пустой формы.
<?php
include "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 () не используется. Но если вы хотите использовать какие-нибудь компоненты, и хотите, чтобы они выполняли какие-либо действия, то должны создать функцию обработки событий.
Например:
<?php
include "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].
Рекомендую посмотреть официальный мануал. Он содержит описание все доступных функций. К сожалению, он доступен только на английском языке и не содержит описания констант.