CWnd::Create is a virtual function. If you override it and call your base class's (CRichEditCtrl's) Create first, you can then assume the Window handle is available.
Something like this:
BOOL MyEditControl::Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext)
{
CRichEditControl::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
// call functions that use the window handle
}