nt5.cpp
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. #include "priv.h"
  2. #include "shbrows2.h"
  3. #include "commonsb.h"
  4. #include "resource.h"
  5. //
  6. //
  7. //  If you want NT5 defines in the above headerfiles, you gotta set _WIN32_WINNT
  8. //  to 0x0500, which the standard browseui build does not do...
  9. //
  10. //  So we do it here in nt5.cpp.
  11. //
  12. //
  13. // WM_APPCOMMAND handling
  14. //
  15. typedef struct tagAppCmd
  16. {
  17.     UINT idAppCmd;
  18.     UINT idCmd;
  19. } APPCMD;
  20. BOOL CShellBrowser2::_OnAppCommand(WPARAM wParam, LPARAM lParam)
  21. {
  22.     static APPCMD rgcmd[] =
  23.     {
  24.         { APPCOMMAND_BROWSER_BACKWARD, FCIDM_NAVIGATEBACK },
  25.         { APPCOMMAND_BROWSER_FORWARD, FCIDM_NAVIGATEFORWARD },
  26.         { APPCOMMAND_BROWSER_REFRESH, FCIDM_REFRESH },
  27.         { APPCOMMAND_BROWSER_STOP, FCIDM_STOP },
  28.         { APPCOMMAND_BROWSER_SEARCH, FCIDM_VBBSEARCHBAND }, // FCIDM_SEARCHPAGE ?
  29.         { APPCOMMAND_BROWSER_FAVORITES, FCIDM_VBBFAVORITESBAND },
  30.         { APPCOMMAND_BROWSER_HOME, FCIDM_STARTPAGE },
  31.         { APPCOMMAND_LAUNCH_MAIL, FCIDM_MAIL }
  32.     };
  33.     BOOL bRet = FALSE;
  34.     if (!IsMinimized(_pbbd->_hwnd))
  35.     {
  36.         UINT idAppCmd = GET_APPCOMMAND_LPARAM(lParam);
  37.         for (int i = 0 ; i < ARRAYSIZE(rgcmd) ; i++)
  38.         {
  39.             if (rgcmd[i].idAppCmd == idAppCmd)
  40.             {
  41.                 OnCommand(GET_WM_COMMAND_MPS(rgcmd[i].idCmd,
  42.                                              GET_WM_COMMAND_HWND(wParam, lParam),
  43.                                              GET_WM_COMMAND_CMD(wParam, lParam)));
  44.                 bRet = TRUE;
  45.                 break;
  46.             }
  47.         }
  48.     }
  49.     return bRet;
  50. }
  51. // Our NT5 version of the WndProc
  52. //
  53. LPARAM CShellBrowser2::_WndProcBSNT5(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  54. {
  55.     LPARAM lRet = 0;
  56.     switch(uMsg)
  57.     {
  58.        case WM_APPCOMMAND:
  59.        {
  60.           if (_OnAppCommand(wParam, lParam))
  61.              lRet = 1;
  62.           break;
  63.        }
  64.        default:
  65.           break;
  66.     }
  67.     return lRet;
  68. }