Package Information |
Summary |
A Native Windows Binding for PHP |
Maintainers |
Rubem Pechansky (lead)
[details]
Stefano F. Rausch <
stefano at rausch-e dot net >
(lead)
[details]
|
License |
BSD License |
Description |
WinBinder is a new extension that allows PHP programmers to build native Window applications. It wraps the Windows API in a lightweight, easy-to-use library, so that program creation is quick and straightforward. |
Homepage |
http://hypervisual.com/winbinder/
|
Release notes
Version 0.36.126
(alpha)
|
This release consolidates all patches, has many user-requested changes, several new functions an sereval enhancements in the manual. Please see below for a reasonable complete list.
------------------------------------------------------------------------------ Changes in library ------------------------------------------------------------------------------
- "plus" string accepted as accelerator in menus or in wb_create_control($mainwin, Accel, ...) - All styles that can be set with wb_set_style() can now be set on wb_create_control() too (but not vice-versa yet) - Arrow keys will change pages of a tab control with the keyboard focus (Part of item #353) - Edit controls send the WBC_KEYPRESS notification message when a key is pressed. lparam2 contains the key code - Fixed function wb_set_style(), was broken - Fixed inconsistency in WBC_DBLCLICK: was being tested in style instead of lparam (thanks Alexandre) - Item #300 (resize toolbars automatically) - already implemented - ListView: header selection goes now through WBC_HEADERSEL notification message in $lparam1; Header number is $lparam2. Thus WBC_HEADERSEL must be included as lparam in wb_create_window(). CAUTION: THIS CHANGE MAY BREAK EXISTING CODE. - Message WBC_HEADERSEL is sent to callback function when a ListView header is clicked - More options in wb_wait(): WBC_MOUSEUP, WBC_KEYUP - Moved the OOi interface to a separate file - New aliases accepted as accelerators in menus or in wb_create_control($mainwin, Accel, ...): "ESC", "PGDN", "PGUP", "INS", "DEL" - New constant WBC_KEYDOWN, used in wb_wait() - New constant WBC_KEYUP, used in wb_wait() - New constant: FTA_REGULAR (Same as FTA_NORMAL) - New constant: WBC_HEADERSEL - New function wb_wait() can be used as a simple delay or to verify if a key or mouse button was pressed, useful for lengthy operations - New function: wb_draw_image() (Issue #138) - New function: wb_draw_text() - New function: wb_get_focus(), returns the control or window that has the focus - New notification: WBC_KEYPRESS - New wb_get_system_info() parameters (part of item #276): 	- "commandline": The original Windows command line including the executable file (PHP.EXE) 	- "consolemode": A boolean indicating whether console (DOS box) is active or not 	- "computername": The name of the computer, in a network 	- "username": The name of the user, in a network 	- "screenarea": The total area (x, y, width, height) of the screen, in pixels 	- "workarea": The valid area (x, y, width, height) of the screen, in pixels 	- "exepath": Path to the main executable (PHP.EXE) 	- "systemfont": The default interface font, which will be used in the controls - No need to include notification messages as lparam when creating a window - Parameter linewidth works correctly in wb_draw_rect() now - Solved bug #399, "Menu access keys won't work in some apps" - Solved issue #299, "Optional dotted lines in treeviews", using wb_set_style() - Solved serious leakage in some wb_draw* functions - Some resource leaks solved - Tab control: tab selection goes now through WBC_HEADERSEL notification message in $lparam1; Tab number is $lparam2. Thus WBC_HEADERSEL must be included as lparam in wb_create_window(). CAUTION: THIS CHANGE MAY BREAK EXISTING CODE. - wb_create_font() had undefined values for optional parameters, fixed - wb_create_image(): two optional, extra parameters for use with image libraries (like FreeImage): bmi, bits - wb_draw_text() can accept flags WBC_CENTER, WBC_LEFT, WBC_RIGHT, WBC_LINES, WBC_ELLIPSIS - wb_draw_text() now accepts three different vertical alignments: new constants WBC_TOP, WBC_BOTTOM, WBC_MIDDLE - wb_exec() will give a warning if the executable/target file does not exist - wb_exec(): new 'o' parameter will "shell execute" a phpw file instead of running it. It will usually run it anyway, except if the user has changed the .phpw association. - wb_exec(): new parameters 'c' or 'w' run a phpw file in console or windowed mode, respectively - wb_poke(): an incorrect NULL test was improperly invalidating some results. Fixed. - wb_send_message(): 0xFFFF (65535) can be used as first parameter (HWND_BROADCAST in Windows API) - wb_set_style(): changed parameter to set/unset style (bool) - wb_wait: changed parameter order, now flags is last - Bug fix: wb_wait was always returning upon keyboard events regardless of flags: fixed. - Other changes
------------------------------------------------------------------------------ Changes in applications and examples ------------------------------------------------------------------------------
- /Code/tests directory renamed to /Code/Samples - Changed default Setup directory to C:\WINBINDER - Changes and fixes in listview_sort.phpw, dblclick.phpw, ttfreader.phpw, tabcontrol.phpw and others - Code page data in application dll_functions.phpw - Code samples from /Code/Hello, /Code/minimal, /Code/calc, /Code/TTFReader moved to /Code/Samples - Corrections and small changes to make_release.phpw - In listview_sort.phpw, handler was not processing IDCLOSE. Fixed. - In test_struct.phpw, STRUCT_WBOBJ and STRUCT_WBOBJ_SIZE are undefined constants. - More examples: wait.phpw - New DB interface by Hans (see doc) - New OOi by Alexandre (see doc), moved to separate archive - New SA (SQLAdmin) app by Hans (see doc) - New examples: combobox.phpw, wait.phpw, sysinfo.phpw, accel.phpw - New sample: dib.phpw, needs freeimage.inc.php - Removed some PHPW sample files, added some, renamed some - Script freeimage.inc.php added to the distribution - To Do changed so it can be called from anywhere - Two new small bitmaps (edit, note) (no big deal) - Welcome has a new button to call the To Do app - manytests_main.phpw: renamed some files, other small tweaks - ttfreader.phpw: one phpw source file only, new accelerators, double-click now closes the Font Select dialog, several small fixes - Other fixes
------------------------------------------------------------------------------ Changes in documentation ------------------------------------------------------------------------------
- Corrected/enhanced/added at least the following help topics: 	- wb_call_function() 	- wb_create_control() 	- wb_create_font() 	- wb_create_image() 	- wb_create_window() 	- wb_get_function_address() 	- wb_draw_line 	- wb_draw_rect 	- wb_draw_text() 	- wb_exec() 	- wb_get_focus() 	- wb_get_function_address() 	- wb_get_size() 	- wb_get_system_info() 	- wb_load_library() 	- wb_send_message() 	- wb_set_focus() 	- wb_set_size() 	- wb_set_style() 	- wb_set_visible() 	- wb_wait() - Many new tips, new sample code, more corrections, more keywords - More info on Callback functions and window handlers, Windows messages, and others - New default position for help window (winbinder_help.chm) - Other changes
------------------------------------------------------------------------------ Changes in C code ------------------------------------------------------------------------------
- A call to wbSetStyle() was added to wbCreateControl(), replaces some existing code - Added parameter bSet to wbSetStyle() - Assignments to hCurrentDlg in the application window were removed in wb_window.c. This helps to solve part of bug #399 - EditBox was subclassed to notify keystrokes to main window - New C funtions: wbDrawBitmap(), wbGetFont(), wbDrawText() - New static function EditProc() in wb_control.c - Removed wbGetWindowStyle(), wbSetWindowStyle() (low-level functions) - Removed wbIsWBObj() call in DrawEnd(): this solves leakage in wb_draw* functions - SetFocus() call was removed in TabPageProc: This solves bug #399 - Some new WBC_* constants in wb.h, changed phpwb_export.c accordingly - Tab controls have style WS_TABSTOP as before with no visible problems. This restores the right/left arrow functionality, but does not yet give the focus to other controls with tab/alt+tab - WBC_GETFOCUS, WBC_HEADERSEL values changed - wbDrawRect() now uses MoveTo / LineTo instead of FrameRect() - wbDrawText() now processes text flags - wbExec() calls WB apps, param may be "windowed", "console" or nothing - wbGetSystemInfo() changed to LONG - wbMakeAccelFromString(): buffer increased to 99 characters, strings added - wb_window.c: DefaultWBProc(): WBWM_KEYPRESS callback - Many other changes |