在WndProc函数的switch语句中,有很多的
case  WM_PAINT:
case WM_CREATE:
case WM_DESTROY:
等等,我并没有自己定义它,它们是什么时候被定义的?定义在什么地方的?我能不能自己定义?
它们有分别代表什么意思~?
switch (message)
     {
case WM_CREATE:
PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;
return 0 ; case  WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
          
GetClientRect (hwnd, &rect) ;
DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
   EndPaint (hwnd, &ps) ;
return 0 ;
          
case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
     }

解决方案 »

  1.   

    定义在winuser.h里,你也可以自己定义,只要保证发消息和收消息的地方一致就可以了
      

  2.   

    建议你看看《windows程序设计》的书
      

  3.   

    在winuser.h中定义,你不应该重定义这些常量。
      

  4.   

    case  WM_PAINT://窗口重绘
    case WM_CREATE://窗口创建
    case WM_DESTROY://窗口销毁
      

  5.   

    正在看书呢~!  刚才找到winuser.h这个文件了,一大堆东西在里面~! 它们分别是什么值呢?  message 是一个数值吗?我怎么定义自己的case , 怎么匹配?
      

  6.   

    仔细看看windows程序设计message是消息
      

  7.   

    在winuser.h中已经定义,是相关消息,也是一系列整数
      

  8.   

    这就是所谓的消息,这全部都是系统自己定义的在winuser.h文中定义的!