Здравствуйте, abrec, Вы писали:
A>На этапе линковки ошибка LNK2019 не найдена реализация OnInsertColumn базового класса.
A>При переносе реализации в H-файл все нормально. Единственное неудобно — на каждый чих в реализации начинают перекомпилироваться все CPP-файлы, куда заинклуден этот H-файл.
A>Подскажите — есть выход из этой ситуации?
A>Спасибо.
Нету. Это плата за использование шаблонов.
Компилятор должен видеть реализацию в месте инстанциирования шаблона.
Реализация в отдельном файле допускается для конкретного класса.
Т.е. уберите все template<> c вашего класса — тогда пожалуйста:
// h
class CMySimpleGridCtrlImpl :
public CWindowImpl<CMySimpleGridCtrlImpl>,
public CCustomDraw< CMySimpleGridCtrlImpl <T, TBase, TWinTraits > >,
public CMessageFilter
LRESULT OnInsertColumn(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
// cpp
LRESULT CMySimpleGridCtrlImpl::OnInsertColumn(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
ЗЫ. для кода на C++ можно использовать тэг [cpp]