You can identify whether the handle is that of an edit control by getting the class name. Please go throught the code below.
TCHAR strClassName;<br />
CString csEditBoxClassName( _T("Edit")); <br />
::GetClassName( pMsg->hwnd, strClassName, 255 );<br />
if( 0 == csEditBoxClassName.CompareNoCase( strClassName ))<br />
I can give you one more hint. Since you have 200 controls, i guess you have created those controls dynamically by providing a range of control ids. If thats the case, you can use the resource id to identify whether its an edit control. For getting the resource id from handle,
UINT nResourceId = GetWindowLong( pMsg->hwnd, GWL_ID );
If you still have problems or if this is not what you needs, let me know.
Yesterday is history,
Tomorrow is a mystery,
But today is a present.