Quote Originally Posted by drag0n_45
Actually, come to think of it, there will be some controls that are not user-modifyable.
If the user can't modify them, what is there to undo?

You'll need to add dependent logic to the global SetValue function. For example, option buttons present unique issues since they have values dependent on other controls. No doubt you have other examples of dependent control values. This can all be handled fairly simply, but it'll be a fair amount of code.