- 截图
- 使用方法
- 相关文章
- 评论本文:
对话框添加html链接 - HyperLink
From: xuyibo.net Updated: 2010-02-02
| Size:71 KB Date:2010-02-02 Downloads:188 | |
| 当更新时自动发送邮件通知。 | |
| 有什么建议或评论,可以贴一下。 | |
| 你的支持,让我们做的更好。 | |
Microsoft从XP开始添加了syslink控件,但仍然需要链接comctl32.dll 6.0版本,而且不支持windows 2000。

主程序入口调用RegisterHyperLink(),退出前调用UnregisterHyperLink()。
#include <windows.h>
#include "HyperLink.h"
#include "resource.h"
INT_PTR CALLBACK MainProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg) {
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
EndDialog(hDlg, 0);
}
return TRUE;
case WM_NOTIFY:
{
NMHDR* nmhdr = (NMHDR*)lParam;
switch (nmhdr->idFrom) {
case IDC_XUYIBO:
case IDC_FLEXEDIT:
if (nmhdr->code == NM_CLICK || nmhdr->code == NM_RETURN) {
PNMLINK pNMLink = (PNMLINK)lParam;
LITEM* item = &pNMLink->item;
ShellExecute(GetDesktopWindow(), L"open", item->szUrl, NULL, NULL, SW_SHOWNORMAL);
}
break;
}
return TRUE;
}
default:
break;
}
return FALSE;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pszCmdLine, int cmdShow)
{
RegisterHyperLink();
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, MainProc);
UnregisterHyperLink();
return 0;
}