CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

question

楼主showmetheway(雪儿甜心)2003-02-03 01:48:29 在 VC/MFC / 基础类 提问

LRESULT   CALLBACK   WndProc   (HWND   hwnd,   UINT   message,   WPARAM   wParam,   LPARAM   lParam)  
  {  
            static   HINSTANCE   hInstance   ;  
             
            switch   (message)  
            {  
            case   WM_CREATE   :  
                      hInstance   =   ((LPCREATESTRUCT)   lParam)->hInstance   ;  
                      return   0   ;  
            …………………  
            }  
  }  
   
  请问每次return   0有何作用?如果改为return   1又将如何?  
   
  问题点数:0、回复次数:5Top

1 楼kingcom_xu(冷羽)回复于 2003-02-03 01:50:58 得分 0

Return   Values  
  If   an   application   processes   this   message,   it   should   return   zero   to   continue   creation   of   the   window.   If   the   application   returns   –1,   the   window   is   destroyed   and   the   CreateWindowEx   or   CreateWindow   function   returns   a   NULL   handle.    
   
   
  >>如果改为return   1又将如何?  
  那你就试试呗:)  
  Top

2 楼showmetheway(雪儿甜心)回复于 2003-02-03 02:13:42 得分 0

好,既然这样我就找了下面这个例子式了一下。  
   
  BOOL   CALLBACK   AboutDlgProc   (HWND   hDlg,   UINT   message,    
                                                          WPARAM   wParam,   LPARAM   lParam)  
  {  
            switch   (message)  
            {  
            case   WM_INITDIALOG   :  
                      return   TRUE   ;  
                       
            case   WM_COMMAND   :  
                      switch   (LOWORD   (wParam))  
                      {  
                      case   IDOK   :  
                      case   IDCANCEL   :  
                                EndDialog   (hDlg,   0)   ;  
                                return   TRUE   ;  
                      }  
                      break   ;  
            }  
            return   FALSE   ;  
  }  
   
   
  AboutDlgProc是一个对话框过程,每次case之后都要return   TRUE;    
    我试着把它改成return   FALSE;   运行结果一样,难道这里他们就没有区别?  
  Top

3 楼everandforever(Forever)回复于 2003-02-03 02:40:18 得分 0

DEAR,   你求知欲不该这么强的。   处理一个消息你可以任意返回值,但是如果MSDN   告诉你了返回各种值有什么区别,你最好照它的做;否则你可以随意。例如:  
   
  WM_CREATE  
   
  If   an   application   processes   this   message,   it   should   return   zero   to   continue   creation   of   the   window.   If   the   application   returns   –1,   the   window   is   destroyed   and   the   CreateWindowEx   or   CreateWindow   function   returns   a   NULL   handle.Top

4 楼kingcom_xu(冷羽)回复于 2003-02-03 13:49:43 得分 0

对话框跟普通窗口有不同的...Top

5 楼showmetheway(雪儿甜心)回复于 2003-02-03 21:36:14 得分 0

谢谢   ,学到东西了;)Top

相关问题

  • question/
  • question
  • A question!
  • question
  • question
  • question!
  • question!!!
  • a question
  • question
  • two question?

关键词

  • application
  • wparam
  • lparam
  • hinstance
  • wm
  • switch
  • hwnd
  • case
  • message
  • true

得分解答快速导航

  • 帖主:showmetheway

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo