WinBinder. Создание форм

Автор: content Воскресенье, Апрель 8th, 2012 Нет комментариев

Рубрика: Язык PHP

Единственное назначение библиотеки WinBinder – создание GUI-форм для Windows.
Любое окно, будь оно родительским или всплывающим, создается функцией wb_create_window. Она находится в самой библиотеке. Чтобы использовать эту функцию, необходимо подключить к проекту файл winbinder.php, который находится в каталоге phpcode/include.
Синтаксис функции таков:

int wb_create_window (int parent, int wclass, string , 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 , int [xpos], int [ypos], int [width], int [height], int [id], int [style], int [param], int [ntab]);
Функция wb_create_control создает на окне [parent] компонент [ctlclass], с заголовком или текстом , с отступом от левого края [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].

Рекомендую посмотреть официальный мануал. Он содержит описание все доступных функций. К сожалению, он доступен только на английском языке и не содержит описания констант.

Автор: Притолюк Максим (f0rm4t@satka.ru)

Источник: http://www.php.su/articles/?cat=common&page=010

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты