GRAFUG Meeting December 9, 2007

General Information

Greetings!! I hope everyone has had a safe and happy New Year’s Day!    Our Next meeting is January 13th, 2007.  Same place, same time.


Advisor VFP DevCon 2007 has been announced to be held on May 6-10, 2007 in Anaheim, California.

Rick Schummer discussed the Sedna Data Explorer in his blog: on December 6th.   He has given quite a bit of detailed discussion on the topic as well as links to the CTP.  It was brought up at the meeting that this was definitely worth reading.

(non-FoxPro related) Marlie and Me by John Grogen was mentioned as a great book for dog lovers to read.

Officer Elections

Elected officers are as follows:

President – Cathy Pountney

Vice President – Jody Meyer

Treasurer – Mike Potjer

Secretary – Sharon Hodgson

Webmaster – Jody Meyer

It was a long, tough debate as the candidates fought for their positions, but everyone left the meeting refreshed and happy that the grueling task of officer elections is over yet again for another year.  For those of you who were not at the meeting, it almost lasted thirty seconds…it was dreadfully intense.

Main Presentation

Mike Potjer presented a refreshing method as to the usage of multi-functional containers inside a grid.

First, He built a generic container.  This is necessary because setting dynamic input properties work great for some things, but not for other things, like buttons.   To have a button show up in a grid column and have it respond to certain records, there wasn’t much you could do with it.  The old work around is to set several buttons there and use the dynamic control to switch between showing which one.  But then Craig Boyd pointed out the backstyle property is accessed individually for each row.  With the use of this information, Mike deduced this to mean you can have a container with a shape in it and put code in the access control to resize the shape in the container. 

Make a general container, create a backstyle_access method.  Put in a shell method (this.setDynamicAttributesInGrid()) and return this.backstyle

In the init, while the container itself will automatically resize when you resize the column, the contents of the container will not.  So set up a couple of bind events to the resize of the column and row height of the grid and to the init. 

Next you subclass the container and put a button in the subclass.  (Mike’s example uses part of this is Visual Maxframe class’s on this step)  The button calls up another form that will open up a notes field.  The button has a read only property on it so if it is flagged you can’t enter anything into it.  If you just drop the button of the grid without this class it would apply to all the buttons on the column, not this particular button.

In setdynamicattributes, do your checking.  Set the image depending on whether the image should be enabled, disabled, empty or full, etc.  It also has a property that can check what the control source is, every time it is checked it is on a different record.  (note: button having a controlsource is a Maxframe thing, but you should be able to set this up yourself as well.)

Next Meeting

Our next meeting is Saturday, January 13th, 2007, at 10:00 AM to 12 pm. 

I am actually unsure of what our next meeting topic is supposed to be, but I trust our fearless leader has something planned.

Be a Volunteer

If you wish to volunteer to be a speaker for a future meeting, information and a link for topic submission can be found on our website:



Sharon Hodgson

GRAFUG Secretary