收藏:win32 控件之 sysLink控件(超链接)

来源:https://blog.csdn.net/dai_jing/article/details/8683487

 

手动创建syslink(msdn):

CreateWindowEx(0, WC_LINK, "For more information, <A HREF=\"http://www.microsoft.com\">click here</A> or <A ID=\"idInfo\">here</A>.", 
WS_VISIBLE | WS_CHILD | WS_TABSTOP, 
rect.left, rect.top, rect.right, rect.bottom, 
hDlg, NULL, hInst, NULL);

 

然后响应用户点击: 

case WM_NOTIFY:

switch (((LPNMHDR)lParam)->code)
{

case NM_CLICK: // Fall through to the next case.

case NM_RETURN:
{
PNMLINK pNMLink = (PNMLINK)lParam;
LITEM item = pNMLink->item;

if ((((LPNMHDR)lParam)->hwndFrom == g_hLink) && (item.iLink == 0))
{
ShellExecute(NULL, L"open", item.szUrl, NULL, NULL, SW_SHOW);
}

else if (wcscmp(item.szID, "idInfo") == 0)
{
MessageBox(hDlg, "This isn't much help.", "Example", MB_OK);
}

break;
}
}

break;

下面是作者遇到的问题,我还没有测试:

PS:我在利用syslink进行运行时能够正常弹出对话框,因为我将对话框设置成主窗口,后来我发现,当syslink控件不是在这个主窗口上时,对话框无法弹出,看了MSDN,解释说syslink控件只支持Unicode,不知道是什么意思,如果有哪位高手路过,还请麻烦您能够花费您几分钟时间留言解决一下,不甚感激!!!

转载于:https://www.cnblogs.com/personnel/p/9321875.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值