Login  |  Packages  |  Support  |  Bugs
Top Level :: GUI :: WinBinder :: 0.36.126

WinBinder 0.36.126

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
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
- 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

[ Latest Tarball ] [ Changelog ] [ View Statistics ]
  [ Package Bugs ]
[ Report new bug ]

Dependencies for release 0.36.126
Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun Jan 27 13:05:01 2019 UTC
Bandwidth and hardware provided by: pair Networks