To a brit to be sent to Coventry is a phrase used to punish someone. According to Wikipedia:
Which is funny considering that the UK user group was held in that fair city a few weeks ago and I was directed to attend? I wondered, was someone trying to tell me something? To anyone who has attended any of this year’s User group workshops, attendees will find within the sample application a kind of “Easter egg” or one of those “undocumented features” put to good use as a technique to manipulate fields and frames.
When assembling the sample last September I didn’t think much about revealing how it works, but during and after user groups I’ve received reactions that vary all the way from “OMG! You can’t tell anyone about that!” to “Brilliant, I’ve been asking how to do that for years!”
To which I respond with the classic sales mantra “The customer is always right!”, and apparently customers are asking how it works so it must be right? As its already public knowledge to workshop attendees I thought I’d share with non-attendees.
The Easter egg was about programmatic manipulation of splitter bars. Y’know those handles that you can use to attach to fields with which the user can drag and resize stuff with their mouse.
Internally each splitter is assigned a name “S0” to “Sn” assigned sequentially as each splitter is added to the screen. Remove one and all higher numbered splitters are renamed. True not exactly optimal, but if you can determine what the splitters internal name is by counting as each is created then you can use “$windowproperties” to programmatically move the splitter to either side of the frame, if you define a vertical bar, or top/bottom of the frame for a horizontal bar.
For example the first vertical splitter (That would be “S0” BTW), you can code:
$windowproperties(“<formname>”,”splitbar”)=”splitbar=S0:MIN”; Move to the left
$windowproperties(“<formname>”,”splitbar”)=”splitbar=S0:MAX”; Move to the right
$windowproperties(“<formname>”,”splitbar”)=”splitbar=S0:RESTORE”; Restores it back to the original position
So now you know.
Perhaps when considering attendance at the next User Group Conference, aside from the delights of Las Vegas and Coventry you might consider what else you might learn, and who knows maybe there may be another Easter egg next time?