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);
}
相关文档:
使用VC编写VB使用DLL
一、在函数定义前必须加上extern "c",_stdcall关键字。
extern "C" int _stdcall Sum(int x,int y)
{
return x+y;
}
二、DLL的.def文件中必须加上入口函数
EXPORTS
sample @1
  ......
重拾VB之三,二进制文件篇
PMP 关劲松
鬼使神差,09年12月入职的公司仍使用VB开发软件,虽然并非专职开发,但也不得不在事隔4年之后,重新使用VB。
读取、修改二进制文件仍是大部分编程语言的基本开发技能。可以提高处理文件效率,主要应用在通信、交换数据等方面。
'open filena ......
简单而实用的合并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 ......
http://blog.csdn.net/cw198624/archive/2009/02/19/3911759.aspx
添加一个ListBox和一个按钮
Option Explicit
Private Declare Function CloseHandle Lib "kernel32" (ByVal Handle As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As L ......