VC实现类似VB中的LinkLabel功能 //VB里面有个LinkLabel,VB中的Label在VC中式CStatic,但是VC中CStatic没有类似LinkLabel的功能。可以自己 //添加一点代码来实现: //不知道为什么IDC_HANDD一定要自己定义一下 #define IDC_HAND MAKEINTRESOURCE(32649) //处理鼠标移动 void CAppNonameDlg::OnMouseMove(UINT nFlags, CPoint point) { CRect rc; GetDlgItem(IDC_STATIC_COLOR)->GetWindowRect(&rc); ScreenToClient(&rc); //坐标转换 if(rc.PtInRect(point)) //是否在静态文本区域范围内 SetCursor(LoadCursor(NULL, IDC_HAND)); else SetCursor(LoadCursor(NULL, IDC_ARROW)); CDialog::OnMouseMove(nFlags, point); } //处理鼠标安下,这是只要在文本区域上,一直都是IDC_HAND void CAppNonameDlg::OnLButtonDown(UINT nFlags, CPoint point) { CRect rc; GetDlgItem(IDC_STATIC_COLOR)->GetWindowRect(&rc); ScreenToClient(&rc); if(rc.PtInRect(point)) SetCursor(LoadCursor(NULL, IDC_HAND)); CDialog::OnLButtonDown(nFlags, point); } //处理鼠标安下,这是只要在文本区域上,同样一直都是IDC_HAND void CAppNonameDlg::OnLButtonUp(UINT nFlags, CPoint point) { CRect rc; GetDlgItem(IDC_STATIC_COLOR)->GetWindowRect(&rc); ScreenToClient(&rc); if(rc.PtInRect(point)) { SetCursor(LoadCursor(NULL, IDC_HAND)); //打开指定链接 ShellExecute(NULL, "open", "http://hi.csdn.net/vb2010", NULL, NULL, SW_SHOWNORMAL); } CDialog::OnLButtonUp(nFlags, point); }