A philosophical sub-question: By seperating the engine from the UI, I end up
with no human-visible manifestation for the engine class - e.g. no dilaog, no
'window', etc. In other words, it does not appear on the monitor. Is it
'wierd' to derive such an 'invisible' class from CWnd? If this is fairly
normal, do I just leave the visible style out of the Create() parms? What is
the accepted convention for the CRect for such a class?
Howevery you can continue to do this in dialog if you want. I think
the problem you are having is due to the fact that your window is not
created before you have set the timer on it.
I concur. However, attempts to Create() the engine (within
<<UI_Cdialog>>::OnInitDialog()) have not solved the issue. Does the
UI_CDialog class need to contain the engine by reference, rather than by
value, for this to work?
and "timers" into your helper class. I like Giovanni's solution.