Sad Der
accessd666 at yahoo.com
Fri Oct 10 00:55:54 CDT 2003
....and then there was silence! John, thanx for this incredible explenation. Can I ask you something? Do you walk around in a magical cloak? :-) Once again thanx for you're detailed answer. I've got some new stuff to try. This is why I love this list! Regards, Sander --- John Colby <jcolby at colbyconsulting.com> wrote: > SD, > > I have just finished taking this stuff (from adh 97 > apparently) and turning > it into a class. In my case I use Withevents which > means that the events > for the controls are handled right inside of the > class. It appears that > this is probably how this (your) version works as > well. > > Withevents is a keyword used with a dim statement > for controls. The syntax > looks like: > > Private WithEvents mcmdAddOne As CommandButton > > The Withevent keywords can only be used in a class, > which the form module is > by the way. Withevents says essentially, "this > control is dimensioned 'with > its events' being handled in this class". > > Once you dimension a control in this manner, then > when an event for that > control fires, control CAN be passed to code in your > class. I stress the > word CAN because it won't necessarily be done. In > order for control for a > given event to be passed to your class, the event > stub has to be present in > the class AND the exact text "[Event Procedure]" has > to be present in the > corresponding control event property. > > Any Access developer who programs the events for > forms or controls is > already familiar with these restraints, although you > may not have ever > thought about them. When you want to use some > event, you usually dbl-click > in the form or control's property. Let's take a > command button as an > example. > > You dbl-click in the "On Click" property of the > control. > The words "[Event Procedure]" magically appear in > the property. Nothing > else has happened so far. > You click on the ellipsis off to the right of the > event. > You are magically transported to the code editor and > the following text is > magically inserted into the form's module (which > remember is a class). > > Private Sub cmdOK_MouseDown(Button As Integer, Shift > As Integer, X As > Single, Y As Single) > End Sub > > Remember I said that in order for control to be > passed to a class you had to > have three things. > > 1) The control dimensioned "Withevents". > 2) The exact text "[Event Procedure]" inserted in > the event property of > interest in the control. > 3) An event stub inserted in your class to gain > control of (sink) the event > when it fires. > > In essence the wizard behind the property box takes > care of doing these > three things for you. > > One thing to note here is that ALL controls (and the > form itself) are > automatically "dimmed withevents" in a form's class > module, i.e. it doesn't > have to be explicitly done. In YOUR classes it will > have to be done! > > Once these three things are done, then when THAT > event fires, control will > eventually be passed to your class and you can do > whatever you want inside > that event stub. > > So that my friend is Withevents, and that is > probably why you don't see any > event handlers as you are accustomed to seeing in > the form's class. If you > don't understand this stuff, LEARN IT. It will take > your Access abilities > to a whole new level. It's very easy to use and > opens up a whole new world > of possibilities in your applications. > > John W. Colby > www.colbyconsulting.com > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com]On > Behalf Of Sad Der > Sent: Thursday, October 09, 2003 2:47 AM > To: Acces User Group > Subject: [AccessD] ADHB2K - frmMultiPickMSForms > > > Hi group, > I've got a question regarding the form > frmMultiPickMSForms in Chapter 07 from the book > ADHK2K. > > It uses listboxes and some controls to move items > from > left to right, up and down, etc. I need a lot of > this > functionality. > > It uses a reference called: Microsoft Forms 2.0 > Object > Library. > > In short: I do not understand HOW it works. > First: when I open a new database I do NOT have this > reference. Why is that? > > Second: How can these controls be 'controled'? It > only > uses the code below. In wich MultiPikMSForms is a > class and RegisterControls and SetData are methods > of > that class. How is it possible that when I click a > button action is taken? There are no events or > something like it connected to the control?!?!?! > > Could somebody please explain? TIA! > > SD > > '------------------------------------ > Private mmp As MultiPikMSForms > '------------------------------------ > Private Sub Form_Load() > ' Using MultiPikMSForms requires > ' three steps: > > ' 1. Instantiate the object > ' 2. Register the 8 controls with the object > ' 3. Tell it where your data comes from > > Set mmp = New MultiPikMSForms > > mmp.RegisterControls lstAvailable, lstSelected, > _ > cmdSelectOne, cmdSelectAll, cmdDeselectOne, > cmdDeselectAll, _ > cmdUp, cmdDown > > mmp.SetData "tblCustomer", "LastName" > End Sub > > '------------------------------------ > > > __________________________________ > Do you Yahoo!? > The New Yahoo! Shopping - with improved product > search > http://shopping.yahoo.com > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > > > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com