>The problem seems to be that the idle message does not cascade on from CMyDialogbar into the CMyPropertySheet. Any ideas? Try handling it yourself. afx_msg LRESULT OnKickIdle(WPARAM,LPARAM); ... ON_MESSAGE(WM_KICKIDLE,OnKickIdle) ... LRESULT CMyDialog::OnKickIdle(WPARAM wp, LPARAM lCount) { UpdateDialogControls(this, TRUE); // the dialog // try pMyPropertySheet->UpdateDialogControls(this, TRUE); // or UpdateDialogControls(pMyPropertySheet, TRUE); // or pMyPropertySheet->UpdateDialogControls(pMyPropertySheet, TRUE); // or ::SendMessage(pMyPropertySheet->GetSafeHandle(), WM_KICKIDLE, wp, lp); return 0; } One might work (I am not sure if this is the right way to do this or if it still works - WM_KICKIDLE is/was internal MFC message). Try it... There might be an extra include for the WM_KICKIDLE that is needed... Good luck! H.