Здравствуйте, Yurets.
Нужно подправить
Y>Y>class CMyEdit : public CWindowImpl<CMyEdit, CEdit>, public COwnerDraw<CMyEdit>
Y>{
Y>public:
Y> DECLARE_WND_SUPERCLASS(NULL, CEdit::GetWndClassName())
Y> BEGIN_MSG_MAP(CMyEdit)
Y> MESSAGE_HANDLER(OCM_CTLCOLOREDIT, OnCtlColor) // вот так правильно
Y> //MESSAGE_HANDLER(WM_CTLCOLOREDIT, OnCtlColor)
Y> END_MSG_MAP()
Y> LRESULT OnCtlColor(UINT uMsg, WPARAM, LPARAM, BOOL& bHandled);
Y>
Y>====
Y>Вот карта сообщений в классе дилога:
Y>Y> BEGIN_MSG_MAP(CMainDlg)
Y> MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
Y> COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
Y> COMMAND_ID_HANDLER(IDOK, OnOK)
Y> COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
Y> REFLECT_NOTIFICATIONS() //необходимо как воздух
Y> //CHAIN_MSG_MAP_MEMBER(m_edit) // убрать иначе будут посылаться все необработанные сообщения в карту этого члена
Y> END_MSG_MAP()
Y>protected:
Y> CMyEdit m_edit;
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
....
m_edit.SubclassWindow(GetDlgItem(IDC_EDIT1)); // вот чего нехватало !!!!
Y>
Y>====