VC实现类似VB中的LinkLabel功能
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);
}
相关文档:
没壳,没有Command Button,所有的内容都在Form_Load里。用VBDE查看,Form_Load在00406A90,打开W32dsm,载入Casino轮盘智能机器人,查找00406A90,反汇编代码如下:
Quote:
:00406A90 55 &nb ......
简单而实用的合并Excel文件的函数,能够将多个XLS文件中指定数量的工作表自动合并到一个XLS文件里。当然,如果只是数据合并,则使用ADO就可以实现,但如果要保留表格格式,则恐怕只能使用俺的方法了。
一、函数代码:
Option Explicit
'* ********************************************************* ......
调用方法很简单,在Form中如下书写代码:
Private Sub Form_Load()
SetHotkey 1, "Ctrl,112", "Add" '按 Ctrl+F1 激活指定程序,F1的Ascii码为112
SetHotkey 2, 113, "Add" '按 F2 激活指定程序,F2的Ascii码为113
SetHotkey 3, "Ctrl+Alt,113", "Add" '按 Ctrl+Alt+F2 激活指定程序,F2的Ascii码为113
End Sub
Priva ......