This code is able to put standard time controls in each dialog.
The problem arise when you have to put a set of control (in this case time
controls) with some (more or less complex) related behavior.
In order to write the code only one time, I have created a template class CTimeDialogPlus
that can simply used in this way where CCatetere is a standard MFC dialog.
CTimeDialogPlus<cstaff> <CCatetere> Finestra;
This is the effect, the dialog on the left become the one on the right.
Controls on the top has a related behavior: they are able to propagate time
changes, so the spin up of 11.52.59 there is 11.53.00. Also the "Adesso"
button set the time to current value.
Here is the code example using the class:
class CProcCatetereSG : public CDialog { ... public: virtual CTime getTime() = 0; virtual void setTime(const CTime &t) = 0; ... }; ... CTimeDialogPlus<cproccateteresg> Finestra; if(Finestra.DoModal() == IDOK) ...