问各位大侠一个简单个有关问题(关于计算器的程序)有几句没有看懂,还望指教!

问各位大侠一个简单个问题(关于计算器的程序)有几句没有看懂,还望指教!!!!
#include 

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
  PSTR szCmdLine, int iCmdShow)
{
  static TCHAR szAppName[] = TEXT ("HexCalc") ;
  HWND hwnd ;
  MSG msg ;
  WNDCLASS wndclass ;
  .......
   
}
void ShowNumber (HWND hwnd, UINT iNumber)
{
  TCHAR szBuffer[20] ;

  wsprintf (szBuffer, TEXT ("%X"), iNumber) ;
  SetDlgItemText (hwnd, VK_ESCAPE, szBuffer) ;
}

DWORD CalcIt (UINT iFirstNum, int iOperation, UINT iNum)
{
  switch (iOperation)
  {
  case '=': return iNum ;
  case '+': return iFirstNum + iNum ;
  case '-': return iFirstNum - iNum ;
  case '*': return iFirstNum * iNum ;
  case '&': return iFirstNum & iNum ;
  case '|': return iFirstNum | iNum ;
  case '^': return iFirstNum ^ iNum ;
  case '<': return iFirstNum << iNum ;
  case '>': return iFirstNum >> iNum ;
  case '/': return iNum ? iFirstNum / iNum: MAXDWORD ;
  case '%': return iNum ? iFirstNum % iNum: MAXDWORD ;
  default : return 0 ;
  }
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  static BOOL bNewNumber = TRUE ;
  static int iOperation = '=' ;
  static UINT iNumber, iFirstNum ;
  HWND hButton ;
   
  switch (message)
  {
  case WM_KEYDOWN: //拦截WM_KEYDOWN讯息,将左箭头键转换为Backspace键。
  if (wParam != VK_LEFT)
  break ;
  wParam = VK_BACK ;
  //将字元代码转换为大写,Enter键转换为等号键的ASCII码。
  case WM_CHAR:
  if ((wParam = (WPARAM) CharUpper ((TCHAR *) wParam)) == VK_RETURN)
  wParam = '=' ;
   
  if (hButton = GetDlgItem (hwnd, wParam))
  {//GetDlgItem检验WM_CHAR讯息的有效性
  SendMessage (hButton, BM_SETSTATE, 1, 0) ;
  Sleep (100) ;
  SendMessage (hButton, BM_SETSTATE, 0, 0) ;
  }
  else
  {
  MessageBeep (0) ;
  break ;
  }
  // fall through
  case WM_COMMAND:
  SetFocus (hwnd) ;
   
  if (LOWORD (wParam) == VK_BACK) // backspace  
  ShowNumber (hwnd, iNumber /= 16) ;
   
  else if (LOWORD (wParam) == VK_ESCAPE) // escape
  ShowNumber (hwnd, iNumber = 0) ;
   
  else if (isxdigit (LOWORD (wParam))) 解释下下面的代码的作用
  {
  if (bNewNumber) //??? 
  {
  iFirstNum = iNumber ; // ??
  iNumber = 0 ;
  }
  bNewNumber = FALSE ; //???
   
  if (iNumber <= MAXDWORD >> 4)
  ShowNumber (hwnd, iNumber = 16 * iNumber + wParam - //重点解释??
  (isdigit (wParam) ? '0': 'A' - 10)) ;
  else
  MessageBeep (0) ;