Минус в том что контрол надо субкласить, плюс в том что это работает:)
[sourcecode language=”cpp”]
h:
	bool SetAllowSetFocusFromKbd(bool allow=true)
	{
		bool t=AllowSetFocusFromKbd;
		AllowSetFocusFromKbd=allow;
		return t;
	};
        bool GetAllowSetFocusFromKbd() const
            {return AllowSetFocusFromKbd;};
virtual void SetFocusFromKbd();
private:
	bool AllowSetFocusFromKbd;
cpp:
void CMyClass::SetFocusFromKbd()
{
	if (AllowSetFocusFromKbd)
		BaseClass::SetFocusFromKbd();
	else
		Navigate();
}
[/sourcecode]
Спасибо мудрецам c форума шадонета за наводку