y and lookup the program
if ((UINT)result <= HINSTANCE_ERROR) {
if (GetRegKey(HKEY_CLASSES_ROOT, _T(".htm"), key) == ERROR_SUCCESS) {
lstrcat(key, _T("\shell\open\command"));
if (GetRegKey(HKEY_CLASSES_ROOT,key,key) == ERROR_SUCCESS) {
TCHAR *pos;
pos = _tcsstr(key, _T(""%1""));
if (pos == NULL) { // No quotes found
pos = strstr(key, _T("%1")); // Check for %1, without quotes
if (pos == NULL) // No parameter at all
pos = key+lstrlen(key)-1;
else
*pos = ''''\0''''; // Remove the parameter
}
else
*pos = ''''\0''''; // Remove the parameter
lstrcat(pos, _T(" "));
lstrcat(pos, url);
result = (HINSTANCE) WinExec(key,showcmd);
}
}
}
return result;
}
/////////////////////////////////////////////////////////////////////////////////////
BOOL CTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application''''s main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
//设置图形的超链接
m_MapHyperLink1.SetURL("www.yesky.com");
m_MapHyperLink1.SetTipText("欢迎访问天极网");
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
四、小结
本实例通过介绍如何实现超链接功能,介绍了工具提示、动态地从可执行文件中加载图标、使用外壳函数ShellExecute()等知识,甚至还包括注册表的操作等内容,应该说虽然程序比较简单,但包含的内容还是比较丰富的。最后,运行此程序,将在对话框上显示"天极网"的首页链接,在图像上点鼠标左键后将自动进入天极网首页,效果很理想。