Aquick reply. The tutorials are "bad" as they are really old. Have a look at the examples supplied as they are better formed.
Yes you can wrap event handlers within an object so that each window knows its own "state". This allows you to create and destroy many windows of the same object type dyamically.
To do this have a look at the UserData method. It allows you to associate data to a window. When you use NEM events the first parm is the object that the event fired on. Say for example you have a button on a form, and you have many instances of that form your even handler would look like:
My $self=shift; #the button object
My $parent = $self->parent; #the parent window
My $object = $parent->UserData; #the instance data for the window
If you search the mailing list you should come across examples.
I don't have perl installed on this box - but this reply should have enough content to get you started.
From: "David Christensen" <dpchrist@...>
To: "perl-win32-gui-users@..." <perl-win32-gui-users@...>
Sent: 21/02/08 05:30
Subject: [perl-win32-gui-users] tutorials use strict? use warnings? globals? sender and eventargs? $self?
I'm a Win32::GUI newbie who went through the tutorials the other night:
and was shocked to see:
1. No "use strict" nor "use warnings".
2. The scripts used global variables to pass around references to the
windows, controls, etc..
3. There were no sender or eventargs arguments. (Not even a $self
arg?) RTFM, I don't see them either.
Am I missing something? I was looking for an OO GUI toolkit in Perl. I
intend to build an application that will feature pop-up forms for
editing objects persisted in a database. My idea is to create a class
and a table for each object type. The class includes a method to create
and display a window for editing that type of object. When the user
needs to create/ edit an object, I create an object, stuff it/ get it
stuffed with data, and/or create/ display the editor window. The user
may have many such windows open at the same time, including multiple
windows from the same class. When the user interacts with the windows
and controls, the event handlers need to be able to find the right
object. Microsoft's "sender" argument solves this need nicely.
Microsoft's "eventargs" argument solves other needs nicely. Does
Win32::GUI have equivalents?
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
Perl-Win32-GUI-Users mailing list