74 lines
1.8 KiB
C++
74 lines
1.8 KiB
C++
|
#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;
|
||
|
}
|