,报错程序如何改

求助,报错程序怎么改啊
[code=C/C++][/code]

/*-----------------------------------------
  STOKFONT.C -- Stock Font Objects
  (c) Charles Petzold, 1998
  -----------------------------------------*/

#include <windows.h>

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

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
  PSTR szCmdLine, int iCmdShow)
{
  static TCHAR szAppName[] = TEXT ("StokFont") ;
  HWND hwnd ;
  MSG msg ;
  WNDCLASS wndclass ;
   
  wndclass.style = CS_HREDRAW | CS_VREDRAW ;
  wndclass.lpfnWndProc = WndProc ;
  wndclass.cbClsExtra = 0 ;
  wndclass.cbWndExtra = 0 ;
  wndclass.hInstance = hInstance ;
  wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
  wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
  wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
  wndclass.lpszMenuName = NULL ;
  wndclass.lpszClassName = szAppName ;
   
  if (!RegisterClass (&wndclass))
  {
  MessageBox (NULL, TEXT ("Program requires Windows NT!"), 
  szAppName, MB_ICONERROR) ;
  return 0 ;
  }
   
  hwnd = CreateWindow (szAppName, TEXT ("Stock Fonts"),
  WS_OVERLAPPEDWINDOW | WS_VSCROLL,
  CW_USEDEFAULT, CW_USEDEFAULT,
  CW_USEDEFAULT, CW_USEDEFAULT,
  NULL, NULL, hInstance, NULL) ;
   
  ShowWindow (hwnd, iCmdShow) ;
  UpdateWindow (hwnd) ;

  while (GetMessage (&msg, NULL, 0, 0))
  {
  TranslateMessage (&msg) ;
  DispatchMessage (&msg) ;
  }
  return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  static struct
  {
  int idStockFont ;
  TCHAR * szStockFont ;
  }
  stockfont [] = { OEM_FIXED_FONT, "OEM_FIXED_FONT",
  ANSI_FIXED_FONT, "ANSI_FIXED_FONT",  
  ANSI_VAR_FONT, "ANSI_VAR_FONT",
  SYSTEM_FONT, "SYSTEM_FONT",
  DEVICE_DEFAULT_FONT, "DEVICE_DEFAULT_FONT",
  SYSTEM_FIXED_FONT, "SYSTEM_FIXED_FONT",
  DEFAULT_GUI_FONT, "DEFAULT_GUI_FONT" } ;

  static int iFont, cFonts = sizeof stockfont / sizeof stockfont[0] ;
  HDC hdc ;
  int i, x, y, cxGrid, cyGrid ;
  PAINTSTRUCT ps ;
  TCHAR szFaceName [LF_FACESIZE], szBuffer [LF_FACESIZE + 64] ;
  TEXTMETRIC tm ;
   
  switch (message)
  {
  case WM_CREATE:
  SetScrollRange (hwnd, SB_VERT, 0, cFonts - 1, TRUE) ;
  return 0 ;

  case WM_DISPLAYCHANGE:
  InvalidateRect (hwnd, NULL, TRUE) ;
  return 0 ;

  case WM_VSCROLL:
  switch (LOWORD (wParam))
  {
  case SB_TOP: iFont = 0 ; break ;
  case SB_BOTTOM: iFont = cFonts - 1 ; break ;