1. WIn32Lib v0.55
- Posted by Derek Parnell <derekp at solace.com.au> Dec 22, 2000
- 447 views
I'm about to release this at SourceForge. But for those interested, here is a list of the changes in Win32Lib v0.55. -------------------- Added onClick is invoked for ComboBox list selections. Enhanced getItem() now retrieves the currently selected text from a combo or list if the second parameter is zero. eg. -- Get the currently selected item. x = getItem(theList, 0) Fixed The validId() function now checks for valid parent too. Fixed. You can no longer try to run WinMain() after it has run once. Enhanced The warning and abort message box now show the application's name in the title, and the Win32Lib version at the bottom of the message. Enhanced The error code 499 now displays the control IDs involved. Enhanced. To support older versions of Windows, the DLL linkages now only take place if actually used by the application. Replaced registerw32Library() replaces linkDLL() registerw32Function() replaces linkFunc() registerw32Procedure() replaces linkProc() w32Func() replaces c_func() w32Proc() replaces c_proc() Enhanced The DLL rich20.dll will be used if installed, otherwise rich32.dll is used. rich20.dll implements RichEdit v3.0 whereas rich32.dll implements RichEdit v1.0 Renamed A few routines have been renamed to comply with win32lib naming conventions. SetPointerPosn() renamed as setPointerPos() GetPointerPosn() renamed as getPointerPos() ClickPointerLeft() renamed as clickPointerLeft() DragPointerTo() renamed as dragPointerTo() setPenPosition() renamed as setPenPos() The old names have been included in the compat01.ew file, which is automatically included in the win32lib.ew, but will not be when v1.0 is finally released. Added Some alias names for commonly used controls have been added. CommandButton = PushButton Button = PushButton RadioButton = Radio GroupBox = Group ListBox = List ComboBox = Combo EditBox = EditText Fixed Automatic wordwrap has been restored to RichEdit controls. To add it back, create the control using the WS_HSCROLL flag. Added New predefined colors DarkGray, LightGray, Pink, Purple, Parchment Enhanced The predefined colors Grey and White are no longer the same shade. Grey remains unchanged but White is now rgb(224, 224, 224) which is about halfway between LightGray and BrightWhite. Enhanced The validId() function now makes sure the parent id is also valid. Added getWindowInfo() to get internal Windows information about a control getControlInfo() to get internal win32lib information about a control Enhanced The flag parameters in create() and createEx() can now be sequences. And if so, they replace the library defaults for the control being created. Fixed TabItems now displayed correctly when the tabs are clicked. The overlayed items no longer "bleed through". Fixed. setWindowBackColor() now works for most control types. However, Windows overrides it for some controls, eg. Toolbars, Statusbars, and Buttons. Fixed The subclassing error for combo boxes has been permanently fixed. Fixed destroy() routine now ignores invalid control ids. Fixed. The onDestroy event is no longer invoked twice when destroying a window. Enhanced When using destroy() to destroy a Window, the window is now closed first. This will trigger any onClose handler, allowing the application to reject the close and thus the destroy request. Enhanced setVisible and setEnabled can now accept a list (sequence) of ids as the first parameter. This makes it easier to manage a set of controls for user input. eg. setEnabled( {List1, Btn2, Btn3}, False) Enhanced addItem can now add a list of items instead of just one item at a time. addItem(theList, {"Apples", "Pears", "Oranges"}) Enhanced A new form of event handler syntax is available. You can use setHandler() to establish a routine that will be invoked when specified events happen to specified controls. Unlike the current syntax, this one allows multiple controls and/or multple event types to be assigned to a routine at one time, plus all the handler routines have the same parameter signature, procedure myHandler(integer self, integer event, sequence parms) . eg. procedure buttonpushed(integer self, integer event, sequence parms) if self = Btn1 then . . . else . . . end if end procedure setHandler({Btn1, Btn2}, w32HClick, routine_id("buttonpushed")) Fixed. setBackColor() now calls the Windows library using the DC handle instead of the Window handle. Added setPenBkColor() sets the background color to be used for text characters. Added moveZOrder() used to move a window to the front or back of other windows. Added refreshWindow() used to forde a window's borders etc to be redisplayed. Added distributeControls() used to evenly distribute a set of controls over some specified space. Added sizeControls() used to resize controls relative to another control or specific value. Added alignControls() used to align a set of controls relative to another control or specific value. Enhanced getOpenFileName() and getSaveFileName() now support a control id of zero, which means that the parent of the dialog box is the main window in the application. Added setTabCodes() is used to set which keycodes are interpreted as the TAB character. Added setTabEnabled() is used to establish whether or not a given control responds to the TAB character. Fixed. Controls in TabItems now display correctly when the tabitem is selected. This also allows for nested tabcontrols. Fixed. The F10 key now acts as a normal key arther than a system hotkey. Enhanced A combobox changed selection now invokes an onClick for that combobox. Fixed A minimized modal window now traps the focus. Previously, minimized modal windows were ignored. Added An onPause event occurs when the pause key is pressed, and an onBreak event happens when the break key is pressed. These happen regardless of which control has focus. Fixed Changing the background color of a control no longer changes all controls of the same type. Fixed You can no longer close a window if a modal window is minimized. Fixed Destroying a window that has no parent will no longer stop the application, except for the main window. Fixed. Edit controls and list controls can now have their backgrond color changed. Enhanced An window opened as a modal window will no longer allowed to have a minimize box. Changed The onOpen event is now invoked before the window is opened. It used to be invoked half way through the opening process. ----------------------- cheers, Derek Parnell
2. Re: WIn32Lib v0.55
- Posted by Ray Smith <smithr at IX.NET.AU> Dec 21, 2000
- 374 views
- Last edited Dec 22, 2000
Hi Derek, >I'm about to release this at SourceForge. But for those interested, here is >a list of the changes in Win32Lib v0.55. <snip> <snip> and more <snip> The number of changes / fixes / additions is mind blowing, well done. How do you find time to make so many changes? I noticed you have mentioned version 1.0 a few times and wonder what you plan to achieve (include) in version 1.0? Also, (and I know it's difficult to estimate) .. but when would you think a 1.0 release would be available? keep up the great work, Ray Smith
3. Re: WIn32Lib v0.55
- Posted by Dan B Moyer <DANMOYER at PRODIGY.NET> Dec 24, 2000
- 375 views
Derek, You included version 0.48 of my "RunThis" with Win32Lib 0.55, but back on Dec. 4 I sent you version 0.53, renamed "RunDemos", with the structured choices and running from file list of examples, like you suggested; didn't you get it? Dan ----- Original Message ----- From: "Derek Parnell" <derekp at SOLACE.COM.AU> To: <EUPHORIA at LISTSERV.MUOHIO.EDU> Sent: Thursday, December 21, 2000 5:19 PM Subject: WIn32Lib v0.55 > I'm about to release this at SourceForge. But for those interested, here is > a list of the changes in Win32Lib v0.55. > > -------------------- > Added > onClick is invoked for ComboBox list selections. > > Enhanced > getItem() now retrieves the currently selected text from a combo > or list if the second parameter is zero. > eg. > -- Get the currently selected item. > x = getItem(theList, 0) > > Fixed > The validId() function now checks for valid parent too. > > Fixed. > You can no longer try to run WinMain() after it has run once. > > Enhanced > The warning and abort message box now show the application's name > in the title, and the Win32Lib version at the bottom of the message. > > Enhanced > The error code 499 now displays the control IDs involved. > > Enhanced. > To support older versions of Windows, the DLL linkages now only take > place if actually used by the application. > > Replaced > registerw32Library() replaces linkDLL() > registerw32Function() replaces linkFunc() > registerw32Procedure() replaces linkProc() > w32Func() replaces c_func() > w32Proc() replaces c_proc() > > Enhanced > The DLL rich20.dll will be used if installed, otherwise rich32.dll is used. > rich20.dll implements RichEdit v3.0 whereas rich32.dll implements RichEdit > v1.0 > > Renamed > A few routines have been renamed to comply with win32lib naming > conventions. > SetPointerPosn() renamed as setPointerPos() > GetPointerPosn() renamed as getPointerPos() > ClickPointerLeft() renamed as clickPointerLeft() > DragPointerTo() renamed as dragPointerTo() > setPenPosition() renamed as setPenPos() > The old names have been included in the compat01.ew file, which is > automatically included in the win32lib.ew, but will not be when v1.0 is > finally released. > > Added > Some alias names for commonly used controls have been added. > CommandButton = PushButton > Button = PushButton > RadioButton = Radio > GroupBox = Group > ListBox = List > ComboBox = Combo > EditBox = EditText > > Fixed > Automatic wordwrap has been restored to RichEdit controls. To add it > back, create the control using the WS_HSCROLL flag. > > Added > New predefined colors DarkGray, LightGray, Pink, Purple, Parchment > > Enhanced > The predefined colors Grey and White are no longer the same shade. > Grey remains unchanged but White is now rgb(224, 224, 224) which is > about halfway between LightGray and BrightWhite. > > Enhanced > The validId() function now makes sure the parent id is also valid. > > Added > getWindowInfo() to get internal Windows information about a control > getControlInfo() to get internal win32lib information about a control > > Enhanced > The flag parameters in create() and createEx() can now be sequences. > And if so, they replace the library defaults for the control being created. > > Fixed > TabItems now displayed correctly when the tabs are clicked. The overlayed > items no longer "bleed through". > > Fixed. > setWindowBackColor() now works for most control types. However, Windows > overrides > it for some controls, eg. Toolbars, Statusbars, and Buttons. > > Fixed > The subclassing error for combo boxes has been permanently fixed. > > Fixed > destroy() routine now ignores invalid control ids. > > Fixed. > The onDestroy event is no longer invoked twice when destroying a window. > > Enhanced > When using destroy() to destroy a Window, the window is now closed first. > This will trigger any onClose handler, allowing the application to reject > the close and thus the destroy request. > > Enhanced > setVisible and setEnabled can now accept a list (sequence) of ids as the > first parameter. This makes it easier to manage a set of controls for user > input. > eg. > setEnabled( {List1, Btn2, Btn3}, False) > > Enhanced > addItem can now add a list of items instead of just one item at a time. > > addItem(theList, {"Apples", "Pears", "Oranges"}) > > Enhanced > A new form of event handler syntax is available. You can use setHandler() > to establish a routine that will be invoked when specified events happen to > specified controls. Unlike the current syntax, this one allows multiple > controls and/or multple event types to be assigned to a routine at one > time, plus all the handler routines have the same parameter signature, > procedure myHandler(integer self, integer event, sequence parms) . > > eg. > procedure buttonpushed(integer self, integer event, sequence parms) > if self = Btn1 then > . . . > else > . . . > end if > end procedure > setHandler({Btn1, Btn2}, w32HClick, routine_id("buttonpushed")) > > Fixed. > setBackColor() now calls the Windows library using the DC handle instead of > the Window handle. > > Added > setPenBkColor() sets the background color to be used for text characters. > > Added > moveZOrder() used to move a window to the front or back of other windows. > > Added > refreshWindow() used to forde a window's borders etc to be redisplayed. > > Added > distributeControls() used to evenly distribute a set of controls over > some specified space. > > Added > sizeControls() used to resize controls relative to another control or > specific value. > > Added > alignControls() used to align a set of controls relative to another control > or specific value. > > Enhanced > getOpenFileName() and getSaveFileName() now support a control id of zero, > which > means that the parent of the dialog box is the main window in the > application. > > Added > setTabCodes() is used to set which keycodes are interpreted as the TAB > character. > > Added > setTabEnabled() is used to establish whether or not a given control > responds to the TAB character. > > Fixed. > Controls in TabItems now display correctly when the tabitem is selected. > This also allows > for nested tabcontrols. > > Fixed. > The F10 key now acts as a normal key arther than a system hotkey. > > Enhanced > A combobox changed selection now invokes an onClick for that combobox. > > Fixed > A minimized modal window now traps the focus. Previously, minimized modal > windows were ignored. > > Added > An onPause event occurs when the pause key is pressed, and an onBreak event > happens when the > break key is pressed. These happen regardless of which control has focus. > > Fixed > Changing the background color of a control no longer changes all controls of > the same type. > > Fixed > You can no longer close a window if a modal window is minimized. > > Fixed > Destroying a window that has no parent will no longer stop the application, > except for the main window. > > Fixed. > Edit controls and list controls can now have their backgrond color changed. > > Enhanced > An window opened as a modal window will no longer allowed to have a minimize > box. > > Changed > The onOpen event is now invoked before the window is opened. It used to be > invoked half way through the opening process. > ----------------------- > cheers, > Derek Parnell
4. Re: WIn32Lib v0.55
- Posted by Derek Parnell <dparnell at BIGPOND.NET.AU> Dec 26, 2000
- 368 views
Hi Dan, sorry about not including your latest code for RunDemo. I just forgot to put it in. When you sent it to me, I downloaded it onto the laptop machine, but that's back at the office and I don't have a copy here at home. Can you resend it so I can incorporate it into the release. ------ Derek Parnell Melbourne, Australia (Vote [1] The Cheshire Cat for Internet Mascot) ----- Original Message ----- From: "Dan B Moyer" <DANMOYER at PRODIGY.NET> To: <EUPHORIA at LISTSERV.MUOHIO.EDU> Sent: Monday, December 25, 2000 8:29 AM Subject: Re: WIn32Lib v0.55 > Derek, > > You included version 0.48 of my "RunThis" with Win32Lib 0.55, but back on > Dec. 4 I sent you version 0.53, renamed "RunDemos", with the structured > choices and running from file list of examples, like you suggested; didn't > you get it? > > Dan > > ----- Original Message ----- > From: "Derek Parnell" <derekp at SOLACE.COM.AU> > To: <EUPHORIA at LISTSERV.MUOHIO.EDU> > Sent: Thursday, December 21, 2000 5:19 PM > Subject: WIn32Lib v0.55 > > > > I'm about to release this at SourceForge. But for those interested, here > is > > a list of the changes in Win32Lib v0.55. > > > > -------------------- > > Added > > onClick is invoked for ComboBox list selections. > > > > Enhanced > > getItem() now retrieves the currently selected text from a combo > > or list if the second parameter is zero. > > eg. > > -- Get the currently selected item. > > x = getItem(theList, 0) > > > > Fixed > > The validId() function now checks for valid parent too. > > > > Fixed. > > You can no longer try to run WinMain() after it has run once. > > > > Enhanced > > The warning and abort message box now show the application's name > > in the title, and the Win32Lib version at the bottom of the message. > > > > Enhanced > > The error code 499 now displays the control IDs involved. > > > > Enhanced. > > To support older versions of Windows, the DLL linkages now only take > > place if actually used by the application. > > > > Replaced > > registerw32Library() replaces linkDLL() > > registerw32Function() replaces linkFunc() > > registerw32Procedure() replaces linkProc() > > w32Func() replaces c_func() > > w32Proc() replaces c_proc() > > > > Enhanced > > The DLL rich20.dll will be used if installed, otherwise rich32.dll is > used. > > rich20.dll implements RichEdit v3.0 whereas rich32.dll implements > RichEdit > > v1.0 > > > > Renamed > > A few routines have been renamed to comply with win32lib naming > > conventions. > > SetPointerPosn() renamed as setPointerPos() > > GetPointerPosn() renamed as getPointerPos() > > ClickPointerLeft() renamed as clickPointerLeft() > > DragPointerTo() renamed as dragPointerTo() > > setPenPosition() renamed as setPenPos() > > The old names have been included in the compat01.ew file, which is > > automatically included in the win32lib.ew, but will not be when v1.0 is > > finally released. > > > > Added > > Some alias names for commonly used controls have been added. > > CommandButton = PushButton > > Button = PushButton > > RadioButton = Radio > > GroupBox = Group > > ListBox = List > > ComboBox = Combo > > EditBox = EditText > > > > Fixed > > Automatic wordwrap has been restored to RichEdit controls. To add it > > back, create the control using the WS_HSCROLL flag. > > > > Added > > New predefined colors DarkGray, LightGray, Pink, Purple, Parchment > > > > Enhanced > > The predefined colors Grey and White are no longer the same shade. > > Grey remains unchanged but White is now rgb(224, 224, 224) which is > > about halfway between LightGray and BrightWhite. > > > > Enhanced > > The validId() function now makes sure the parent id is also valid. > > > > Added > > getWindowInfo() to get internal Windows information about a control > > getControlInfo() to get internal win32lib information about a control > > > > Enhanced > > The flag parameters in create() and createEx() can now be sequences. > > And if so, they replace the library defaults for the control being > created. > > > > Fixed > > TabItems now displayed correctly when the tabs are clicked. The overlayed > > items no longer "bleed through". > > > > Fixed. > > setWindowBackColor() now works for most control types. However, Windows > > overrides > > it for some controls, eg. Toolbars, Statusbars, and Buttons. > > > > Fixed > > The subclassing error for combo boxes has been permanently fixed. > > > > Fixed > > destroy() routine now ignores invalid control ids. > > > > Fixed. > > The onDestroy event is no longer invoked twice when destroying a window. > > > > Enhanced > > When using destroy() to destroy a Window, the window is now closed first. > > This will trigger any onClose handler, allowing the application to reject > > the close and thus the destroy request. > > > > Enhanced > > setVisible and setEnabled can now accept a list (sequence) of ids as the > > first parameter. This makes it easier to manage a set of controls for user > > input. > > eg. > > setEnabled( {List1, Btn2, Btn3}, False) > > > > Enhanced > > addItem can now add a list of items instead of just one item at a time. > > > > addItem(theList, {"Apples", "Pears", "Oranges"}) > > > > Enhanced > > A new form of event handler syntax is available. You can use setHandler() > > to establish a routine that will be invoked when specified events happen > to > > specified controls. Unlike the current syntax, this one allows multiple > > controls and/or multple event types to be assigned to a routine at one > > time, plus all the handler routines have the same parameter signature, > > procedure myHandler(integer self, integer event, sequence parms) . > > > > eg. > > procedure buttonpushed(integer self, integer event, sequence parms) > > if self = Btn1 then > > . . . > > else > > . . . > > end if > > end procedure > > setHandler({Btn1, Btn2}, w32HClick, routine_id("buttonpushed")) > > > > Fixed. > > setBackColor() now calls the Windows library using the DC handle instead > of > > the Window handle. > > > > Added > > setPenBkColor() sets the background color to be used for text characters. > > > > Added > > moveZOrder() used to move a window to the front or back of other windows. > > > > Added > > refreshWindow() used to forde a window's borders etc to be redisplayed. > > > > Added > > distributeControls() used to evenly distribute a set of controls over > > some specified space. > > > > Added > > sizeControls() used to resize controls relative to another control or > > specific value. > > > > Added > > alignControls() used to align a set of controls relative to another > control > > or specific value. > > > > Enhanced > > getOpenFileName() and getSaveFileName() now support a control id of zero, > > which > > means that the parent of the dialog box is the main window in the > > application. > > > > Added > > setTabCodes() is used to set which keycodes are interpreted as the TAB > > character. > > > > Added > > setTabEnabled() is used to establish whether or not a given control > > responds to the TAB character. > > > > Fixed. > > Controls in TabItems now display correctly when the tabitem is selected. > > This also allows > > for nested tabcontrols. > > > > Fixed. > > The F10 key now acts as a normal key arther than a system hotkey. > > > > Enhanced > > A combobox changed selection now invokes an onClick for that combobox. > > > > Fixed > > A minimized modal window now traps the focus. Previously, minimized modal > > windows were ignored. > > > > Added > > An onPause event occurs when the pause key is pressed, and an onBreak > event > > happens when the > > break key is pressed. These happen regardless of which control has focus. > > > > Fixed > > Changing the background color of a control no longer changes all controls > of > > the same type. > > > > Fixed > > You can no longer close a window if a modal window is minimized. > > > > Fixed > > Destroying a window that has no parent will no longer stop the > application, > > except for the main window. > > > > Fixed. > > Edit controls and list controls can now have their backgrond color > changed. > > > > Enhanced > > An window opened as a modal window will no longer allowed to have a > minimize > > box. > > > > Changed > > The onOpen event is now invoked before the window is opened. It used to be > > invoked half way through the opening process. > > ----------------------- > > cheers, > > Derek Parnell