MessageBox参数说明及如何修改其按钮文字

 

函数功能:该函数创建、显示、和操作一个消息框。消息框含有应用程序定义的消息和标题,加上预定义图标与Push(下按)按钮的任何组合。  
   
          函数原型:int   MessageBox(HWND   hWnd,LPCTSTR   IpCaption,UINT   UType);  
   
          参数:  
   
          hWnd:标识将被创建的消息框的拥有窗口。如果此参数为NULL,则消息框没有拥有窗口。  
   
          IpText:指向一个以NULL结尾的、含有将被显示的消息的字符串的指针。  
   
          IpCaption:指向一个以NULL结尾的、用于对话框标题的字符串的指针。  
   
          uType:指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。  
   
          指定下列标志中的一个来显示消息框中的按钮,标志的含义如下。  
   
          MB_ABORTRETRYIGNORE:消息框含有三个按钮:Abort,Retry和Ignore。  
   
          MB_OK:消息框含有一个按钮:OK。这是缺省值。  
   
          MB_OKCANCEL:消息框含有两个按钮:OK和Cancel。  
   
          MB_RETRYCANCEL:消息框含有两个按钮:Retry和Cancel。  
   
          MB_YESNO:消息框含有两个按钮:Yes和No。  
   
          MB_YESNOCANCEL:消息框含有三个按钮:Yes,No和Cancel。  
   
          指定下列标志中的一个来显示消息框中的图标:标志的含义如下。  
   
          MB_ICONEXCLAMATION:  
   
          MB_ICONWARNING:一个惊叹号出现在消息框。  
   
          MB_ICONINFORMATION:  
   
          MB_ICONASTERISK:一个圆圈中小写字母i组成的图标出现在消息框。  
   
          MB_ICONOUESTION:一个问题标记图标出现在消息框。  
   
          MB_ICONSTOP:  
   
          MB_ICONERROR:  
   
          MM_ICONHAND:一个停止消息图标出现在消息框。

 

        返回值:如果没有足够的内存来创建消息框,则返回值为零。如果函数调用成功,则返回值为下列对话框返回的菜单项目值中的一个:  
   
          IDABORT:Abort   按钮被选中。IDCANCEL:Cancel按钮被选中。IDIGNORE:Ignore按钮被选中。  
   
          IDNO:NO按钮被选中。IDOK:OK按钮被选中。IDRETRY:RETRY按钮被选中。  
   
          IDYES:YES按钮被选中。  

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/marklr/archive/2007/12/14/1934445.aspx

 

宏定义文件:WinUser.h

MSDN说明:http://msdn.microsoft.com/en-us/library/ms645505(VS.85).aspx

 

 

修改按钮文本(一般用于国际化)  
  HHOOK   hHook;  
  LRESULT   __stdcall   CBTHookProc(   long   nCode,WPARAM   wParam,LPARAM   lParam)  
  {  
      if   (nCode==HCBT_ACTIVATE)  
      {  
      SetDlgItemText((HWND)wParam,IDYES,"&Yes");  
      SetDlgItemText((HWND)wParam,IDNO   ,"&No");  
      SetDlgItemText((HWND)wParam,IDOK,"&OK");  
      SetDlgItemText((HWND)wParam,IDCANCEL,"&Cancel");  
      UnhookWindowsHookEx(hHook);  
      }  
      return   0;  
  }  
  使用方法:   在调用MessageBox前加入以下函数
  hHook=SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);  

你可能感兴趣的:(MessageBox参数说明及如何修改其按钮文字)