|
|
#include "priv.h"
#include "shbrows2.h"
#include "commonsb.h"
#include "resource.h"
//
//
// If you want NT5 defines in the above headerfiles, you gotta set _WIN32_WINNT
// to 0x0500, which the standard browseui build does not do...
//
// So we do it here in nt5.cpp.
//
//
// WM_APPCOMMAND handling
//
typedef struct tagAppCmd { UINT idAppCmd; UINT idCmd; } APPCMD;
BOOL CShellBrowser2::_OnAppCommand(WPARAM wParam, LPARAM lParam) { static APPCMD rgcmd[] = { { APPCOMMAND_BROWSER_BACKWARD, FCIDM_NAVIGATEBACK }, { APPCOMMAND_BROWSER_FORWARD, FCIDM_NAVIGATEFORWARD }, { APPCOMMAND_BROWSER_REFRESH, FCIDM_REFRESH }, { APPCOMMAND_BROWSER_STOP, FCIDM_STOP }, { APPCOMMAND_BROWSER_SEARCH, FCIDM_VBBSEARCHBAND }, // FCIDM_SEARCHPAGE ?
{ APPCOMMAND_BROWSER_FAVORITES, FCIDM_VBBFAVORITESBAND }, { APPCOMMAND_BROWSER_HOME, FCIDM_STARTPAGE }, { APPCOMMAND_LAUNCH_MAIL, FCIDM_MAIL } };
UINT idAppCmd = GET_APPCOMMAND_LPARAM(lParam); BOOL bRet = FALSE;
for (int i = 0 ; i < ARRAYSIZE(rgcmd) ; i++) { if (rgcmd[i].idAppCmd == idAppCmd) { OnCommand(GET_WM_COMMAND_MPS(rgcmd[i].idCmd, GET_WM_COMMAND_HWND(wParam, lParam), GET_WM_COMMAND_CMD(wParam, lParam))); bRet = TRUE; break; } } return bRet; }
// Our NT5 version of the WndProc
//
LPARAM CShellBrowser2::_WndProcBSNT5(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { LPARAM lRet = 0; switch(uMsg) { case WM_APPCOMMAND: { if (_OnAppCommand(wParam, lParam)) lRet = 1; break; } default: break; }
return lRet; }
|