Your question can be broken into a few parts. Using class wizard, add menu handlers to your CMyDocument casll for (eg) IDM_REGISTER and IDM_WRITEREGISTER. In those handlers, do whatever the hardware thing you want to do is, and store the value that you'll want to display in eg CString m_MyValueToReport. To then get your CMyView to update and display the new string, just call UpdateAllViews in your menu handler. Then, in CMyView::OnDraw, just display the new string
void CMyView::OnDraw (CDC *pDC)
{
CMyDoc *pDoc = GetDocument ();
ASSERT(pDoc);
....
pDC->TextOut (x,y, pDoc->m\_MyValueToReport);
....
}
Going back to the hardware stage, the header file doesn't look like there's any call saying "tell me what was recently written", so you're going to have to keep track of the value you write to the register. Beyond that, the help file / documentation that comes with the USB device/SDK should be of more help than us. Good luck, Iain.