Здравствуйте, alexhack, Вы писали:
A>Не отображаются все подсказки типа tooltip, а также не выводятся сообщения в статусной строке, которые были созданы для меню или тулбара.
A>Почти 100% процентов это связано с тем что сам шаблон создается в dll в программу возвращается только указатель на CMultiDocTemplate, который регестрируется.
Попробуем поискать, благо исходники MFC под рукой. VC 7.1
Во-первых, поищем TOOLTIPTEXT. Ясно, что без нее не обойдется никак
Я буду многое из исходного кода опускать и заменять ...
winmdi.cpp
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)
там же OnToolTipText
// otherwise, handle it ourselves
return CFrameWnd::OnToolTipText(msg, pNMHDR, pResult);
Пойдем в CFrameWnd::OnToolTipText (winfrm.cpp)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)
BOOL CFrameWnd::OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult)
// don't handle the message if no string resource found
if (AfxLoadString((UINT)nID, szFullText) == 0)
return FALSE;
Можно продолжить тем же способом и дальше, но хватит и этого. Ясно, что AfxLoadString из двух мест пытаться загружать не будет (если из двух, то почему не из всех DLL, которые тут могут быть

. А загружает она не оттуда, откуда ты хочешь, судя по всему. Откуда именно она у тебя не загружает — можешь выяснить сам трассировкой, начиная с этого места.
Ну а решение простое. Имеем
BOOL CFrameWnd::OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult)
Ее надо перекрыть в своей CMainFrame::OnToolTipText, вызвать родительскую и , если она вернула FALSE, попробовать обработать самому, действуя по тому же принципу. А может, вызывать AFX_MANAGE_STATE до вызова родительской и самому не обрабатывать. Поэкспериментируй — получится, если строка есть в ресурсах