I wish to add the item 'Website' to an MFC Dialog app System Menu so that it can activate the following method:
Code:
void CMyDlg::OnWebpage()
{
ShellExecute( NULL, NULL, _T("http://www.codeguru.com"), NULL, NULL, 0 );
}// OnWebpage()
I have tried this:
Code:
#define IDM_WEBSITE (WM_USER + 101)
//..
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
pSysMenu->AppendMenuW(MF_STRING, IDM_WEBSITE, _T("Website"));
}
//..
void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else if ((nID & 0xFFF0) == IDM_WEBSITE)
{
OnWebpage();
}
else
{
CDialogEx::OnSysCommand(nID, lParam);
}
}
The code compiles without error but and the 'website' item appears on the System Menu but it doesnt do anything.
I've inspected the following but don't really understand how it works and it seems to me there should be a simpler way to accomplish my end.
Modifying the System Menu By John Simmons 26 Jan 2007
http://www.codeproject.com/Articles/...he-System-Menu
Any help appreciated.