WinBinder 0.46.0

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.

- on windows that have the WBC_RESIZE style, $lparam3 (in the callback function) now receives the size of the client area as a LONG. Usually a call to wb_get_size($window, true) would produce the same effect, but it's there anyway to take advantage of the new $lparam3

- Changes in make_release.phpw:

. even less "USER PARAMETERS" to set up (7 strings only)
. force DEBUG = False in wb_setup.pas
. slight adjustments in screen layout
. more adjustments to include PHP 5.1.1 files
. checks if zip file was actually generated
. other changes

- small changes in welcome.phpw

- examples/hyperlink.phpw: changed to show "finger" cursor and underlined text

- examples/printer.phpw: added example how to print directly from a WinBinder enabled application

- resources/wb.ico: added new WinBinder icon

BUG FIXES:

- wb_generic.inc.php: functions generate_ini and parse_ini do now handle double quotes correctly; fixed missing escaping of the '$' character

- wb_windows.inc.php: function wb_set_selected now processes check boxes in menu items as it should; wb_get_text() now returns an array with the whole contents of a ListView control, as stated in the manual - did return null instead

- solved memory leak that occurred on every function call: added some extra calls to efree() in function wbCallUserFunction() in module phpwb_wb_lib.c

- wb_control.c: Rectified wb_set_range() slider TBM_SETRANGEMAX action and other aspects of this function

- WBC_MOUSEMOVE messages were not being sent in certain situations

- InvisibleArea was subclassed to process and send WM_MOUSEMOVE messages to the callback

- wb_refresh() (and wbRefreshControl()):

. completely rewrote the whole function
. default value of parameter 'now' was changed to TRUE
. now it invalidates and redraws only a part of the screen or control when (still undocumented) xpos/ypos/width/height parameters are passed to it. Was buggy prior to this release.
. probably a bit faster for most operations
. if the wb_refresh() command is issued and the xpos/ypos/width/height are set, the window callback function (in PHP) receives a pointer to rectangle (About to change! Should be the area instead, and an array would be great.) as $lparam3. If wb_refresh() acts on the whole window, $lparam3 is zero.