It's getting quite common these days to place a URL to a web site in about boxes. But how do you this in a typical MFC app? Well, first you need a static which will respond to being clicked. Let's assume you have a static named IDC_URL in your dialog, which has as its text the URL for your website. You need to apply the SS_NOTIFY style to this static (i.e. check the Notify checkbox in the static's properties dialog). Then you need to override the WM_COMMAND handler for the dialog which hosts the static, and place code something like that below in it:
BOOL CTestbed2Dlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
CString csURL;
if (HIWORD(wParam) == STN_CLICKED)
{
if (LOWORD(wParam) == IDC_URL)
{
FromHandle ((HWND)lParam)->GetWindowText (csURL);
ShellExecute (GetSafeHwnd(),
"open",
csURL,
NULL,
NULL,
SW_SHOWNORMAL);
return TRUE;
}
}
return (CDialog::OnCommand(wParam,lParam));
}
If you want the URL to appear in a different colour, see tip 37 for instructions on changing the colour of a static.
Or, if you want big gobs of functionality, including cursor changing, auto-colour handling etc, then you could go to www.codeproject.com/miscctrl/hyperlink.asp and download Chris Maunder's excellent alternative.
Download