by Michael S. Kaplan, published on 2005/03/22 05:30 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/03/22/400316.aspx
This is a Microsoft Access story.
It is one that was related to me by Nicholas Shulman many years ago, when he was still at Microsoft and I was a contract developer working on the Access wizards.
I thought of it after reading Raymond Chen's post Windows are not cheap objects. In it he explains that "Although Windows is centered around, well, windows, a window itself is not a cheap object. What's more, the tight memory constraints of systems of 1985 forced various design decisions."
Well, Windows was not the only one. VB found itself sharply limited in how many controls it could hav on a form, a limitation it was forced to live with back in those early 16-bit days.
Now 16-bit Access was in a slightly worse boat, since it had even more resources tied up and its forms were even more expensive than VB forms. Which were themselves more expensive than the underlying Windows windows, which as Raymond pointed out were not entirely cheap objects to start with.
So an ambitious plan was formed, one that would save the rich Access forms model and not take up as many Windows resources.
Access forms would have just one control.
Well, one real, actual control, at least.
The rest of the form will be a picture that will look like the other controls, as if they are real controls.
This "picture" is affectionately known as "the background bitmap." Given the fact that even as recently as the first version the only Access control that can ever have a handle is either (a) an ActiveX control or (b) the control that currently has the focus, it seems like this still the architecture Access uses. I guess the resource savings may still be pretty significant....
I actually find that the whole thing makes a nice analogy for the people you know in your life. Most of them are in the background, part of the background bitmap. but every once in while one of them will grab the focus (of course in my analogy, that person is the one who gets a handle, but its a handle on you). I have known a few such people over the years, and I am richer for that knowledge....
# BradC on 22 Mar 2005 8:28 AM:
# Michael Kaplan on 22 Mar 2005 8:33 AM: