Thanks Bonnie. At this stage I have no religion about where the code should be. I'm working on a rather small application, if things are not perfectly aligned, I'll live. I tend to agree with Viv that if the functionality can be developed at the form level; it might as well be done there. We don't want more granularity than we need, now do we, and I think you'll agree that desired granularity is the criterium for the decision here. I would not go so far as to implement recursively though :). My 2 Eurocents.
>
>But for me this does not seem to work, as I put my "maskit" controls in panels and pageframes and other containers. Yes, I have to write a Maskit routine (for each of those containers) that contains a "for each ctrl in me.controls". There's probably a way to handle this a the form level too of course.>
>Your control should really be self-contained Marc. Once it's databound and the mask property set, it should know how to do everything it needs to do. It shouldn't have to ask up to the parent control for much of anything (I make an exception to that for rule-checking, since typically it's the Form that contains the Rules ... but again, that all depends on how you've designed your architecture. Still, rule-checking would have nothing to do with validating a mask).
>
>~~Bonnie
If things have the tendency to go your way, do not worry. It won't last. Jules Renard.