CXHyperLink类静态库实现超链接

MFC 与Excel文件的交互操作 立即下载

一:申明
该类的编码实现是在参考www.codeproject.com上的代码时发现的,"
Single Server, Multiple Clients - Win32MFC classes for clientserver communication with Unicode support"我只是作为学习把该类提取出来编译成静态库文件而已,方便自己使用。
以下是作者在代码文件中的申明,敬请注意。
// XHyperLink.h  Version 1.0
//
// XHyperLink static control. Will open the default browser with the given URL
// when the user clicks on the link.
//
// Copyright Chris Maunder, 1997-1999 (cmaunder@mail.com)
// Feel free to use and distribute. May not be sold for profit.
//
// 2/29/00 -- P. Shaffer standard font mod.
//
///////////////////////////////////////////////////////////////////////////////
//
// Modified by:  Hans Dietrich
//               hdietrich@gmail.com
//
///////////////////////////////////////////////////////////////////////////////

 

 

二:使用说明

1:适用于VS2005,同时设置vc++的头文件目录和库文件目录中分别包含该XHyperLink的头文件和库文件;对于非VS2005,可以由提供的源代码文件编译而成。
2:在需要显示该超链接的对话框上新建一个IDC_STATIC静态控件,通过更改属性将其文本设置为需要显示的文本,如"www.google.com.cn";
3:为该控件添加变量,需要将控件ID改为IDC_HyperLink等非IDC_STATIC,否则无法添加变量,选择Control类型,如CStatic m_HyperLink;
4:在对话框头文件中直接将CStatic m_HyperLink该为CXHyperLink m_HyperLink,CXHyperLink继承于CStatic;
5:在需要的地方,如对话框的OnInitDialog()函数中,做如下调用即可:
    m_HyperLink.SetURL(_T("www.google.com.cn"));
6:由于Debug与Release版本的库使用冲突,所以分别生成两个版本的静态库文件供程序使用,通过以下定义可以加以区分:
    #ifdef _DEBUG
    #pragma comment (lib,"XHyperLinkD.lib")
    #else
    #pragma comment (lib,"XHyperLink.lib")
    #endif
7:该超链的使用格式支持如下:
    mail->mailto:gmail@gmail.com
    http->http://www.google.com.cn(www.google.com.cn)
    ftp->ftp://192.168.0.11
    .....
8:至于该类的其他方法,可以参看其头文件申明和代码实现。

 

下载该库文件以及代码文件(另存为下载后将后缀.jpg除去即可)download

 

 

三:如何编译库文件
在VS2005中,可按如下步骤编译生成静态库文件。
新建项目->Win32->Win32项目->项目名称->选择静态库,根据需要选择附加预编译头和添加公共头文件->在工程中添加实现功能的代码文件。

在实践过程中,编译后生成的Release版本库文件,在测试程序的Debug版本中使用,报下面这样的错误,所以生成两个静态库文件版本解决使用冲突。

>error LNK2005: "protected: virtual void __thiscall CWnd::DoDataExchange(class CDataExchange *)" (?DoDataExchange@CWnd@@MAEXPAVCDataExchange@@@Z) 已经在 mfc80ud.lib(MFC80UD.DLL) 中定义
>error LNK2005: "public: long __thiscall CWnd::SendMessageW(unsigned int,unsigned int,long)" (?SendMessageW@CWnd@@QAEJIIJ@Z) 已经在 mfc80ud.lib(MFC80UD.DLL) 中定义
> error LNK2005: "public: static void __stdcall CObject::operator delete(void *)" (??3CObject@@SGXPAX@Z) 已经在 mfc80ud.lib(MFC80UD.DLL) 中定义
>warning LNK4098: 默认库“mfc80u.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
>warning LNK4098: 默认库“msvcrt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
>fatal error LNK1169: 找到一个或多个多重定义的符号

用PyCharm+Scrapy打造你的第一个爬虫:从安装到实战(附完整代码) 本文详细介绍了如何使用PyCharm和Scrapy框架从零开始构建高效网络爬虫。通过环境配置、项目创建、核心爬虫逻辑编写到数据处理与存储的完整流程,帮助Python开发者快速掌握爬虫开发技巧,并附有实战代码示例。特别适合想要学习Scrapy框架和提升爬虫技能的开发者。 阅读详情

相关推荐

C#与Vector XL驱动库实战:CAN通道配置与端口访问详解

本文详细解析了使用C#调用Vector XL驱动库进行CAN总线通信开发的核心步骤。重点阐述了如何通过XL_GetDriverConfig获取硬件通道信息,并厘清channelMask与accessMask的区别与转换关系,最终指导开发者正确使用XL_OpenPort函数配置并打开CAN端口,为构建稳定的汽车电子测试与诊断应用奠定基础。

weixin_28452161的博客 362

MFC 操作Excel-读写

转自http://www.cnblogs.com/xinyuefeiyang/p/5986431.html

我爱你Max 1606

【数学模型】灰色关联分析

数学模型-灰色关联分析

suic009的博客 1万+

MFC 中创建简单超链接

MFC SDI程序在菜单的最后通常会有一个帮助的菜单项,点击后弹出一个关于程序基本信息的对话框(CAboutDlg),想在这个界面添加一条超链接,指向指定的网页,这个网页上存放介绍这个程序更多的信息。查资料说API函数使用ShellExecute可以实现,试了一下,没有成功,这种方法后续再补充。先介绍一下另外一种实现方法(注:这种方法也也是在网上搜集整理的)。 步骤如下: 1) 新建一个MFC

大道至简,知易行难 2596

【AAAI 2025】轻量级特征增强新范式!FCM 模块助力小目标检测,即插即用提升模型泛化能力

本文介绍了AAAI 2025提出的轻量级特征增强新范式FCM模块,它通过显式分离并双向交互语义与空间特征,有效解决了小目标检测中特征信息失配的核心难题。该模块设计精巧,计算开销极低,能够即插即用式地嵌入YOLO等主流检测网络,显著提升模型对小目标的泛化检测能力,尤其适用于遥感、自动驾驶等对计算资源敏感的实际场景。

weixin_29056145的博客 287

单片机多级菜单的简单实现

单片机多级菜单的简单实现 多级菜单的思路 最近想把stm32上的oled显示屏做的好看一些,于是动手写了写一个多级菜单,思路很简单,每个页面用单独的函数封装好,每个功能也是用单独的函数进行封装,用了3个按键,两个切换键,一个确定键。 首先来看看用啥判断页面的(这偷个懒,希望没人打我) //页面标志位 uint8_t s1 = 0; //主页面功能号 uint8_t s2 = 0; //主次页面判断标志位 uint16_t s3 = 1; //次页面功能号 主页面的显示函数,这是个很枯燥的一

qq_43940175的博客 7606

MFC:超链接文本(重绘CStatic)

宏笋的博客 1240

ZooKeeper 实战:使用 Docker Compose 部署 ZooKeeper 集群

ZooKeeper是一个开源的分布式协调服务,用于管理大型分布式系统中的数据。它由Apache软件基金会提供,最初是Hadoop的一个子项目,但后来发展成为一个独立的顶级项目。ZooKeeper提供的一致性协调服务对于构建分布式应用和服务非常重要,特别是在需要精确的领导选举、配置管理、命名服务、分布式同步和提供分布式锁等功能时。

SmartSi 1541

MFC应用程序调用静态库lib

MFC应用程序调用静态库

zzh19811015的专栏 4534

Airtest进阶使用篇-提高脚本稳定性+批量运行脚本

Airtest进阶篇,主要分享如何提高脚本稳定性+如何批量运行脚本生成测试报告!

程序员小杨哥的博客 2570

多出来的那一截:Java 堆外内存 OOM 的来源分账、分流排查与治理解析

Java进程的RES常比-Xmx多出一截,堆却平稳。本文把堆外内存拆成直接缓冲区、Unsafe、JNI本地库、线程栈、元空间与文件映射六类,用JDK 8与17的六组实验对照RSS、NMT、BufferPool三本账:clear()不释放内存;MaxDirectMemorySize默认约等于堆上限且只管直接缓冲区;禁用显式GC会让申请线程退避半秒后失败;未关闭的Deflater零GC下让RSS涨1GB;Netty池内泄漏GC救不回。最后给出定性、对账、定位的排查路线与预算、编码、监控三层治理。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 14万+

关于linux3.7.4内核编译时报错问题

vita@blackline:/vita/build/linux-3.7.4$ make bzImage scripts/kconfig/conf --silentoldconfig Kconfig *** Error during update of the configuration. make[2]: *** [silentoldconfig] Error 1 mak

hanlongfeixiang的专栏 2821

ROS2 CANopen 使用教程

第一步是定义一个结构,用于保存有关接头和相关 CANopen 数据的信息。该结构是 CANopen 网络的基础,可确保存储所有相关数据并在需要时进行访问。

机器人控制与仿真应用 3691

怎么在静态库中建对话框,生成lib并在MFC应用程序中使用它?

要求 最近一个项目,需要使用一个static library,在静态库中创建多个对话框,并在,同一个solution下的另一个MFC应用程序中调用。 --------------------------------------------------------------分割线 在挣扎了几天,并在国外网站疯狂的溜达了许久,get到了如下信息: 一般不在static library里使用对话...

一只懒虫的博客 1782

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

批处理文件给文件夹下文件批量改名

        在论坛里看见想编写批处理文件给文件夹下的文件改名的帖子,自己私底下琢磨了一下,学了几个命令。不过后来搜了一把,有成形的批量文件操作程序,功能更强。不过用批处理文件或许在有些地方用得着,毕竟只用编写几个命令,所以还是贴出来。帖子:"将一个文件夹里所有的*.jpg文件,按序编号排列,变成a001.jpg a002.jpg ....a字符不固定"批处理程序:for %%a in

Docoocoo的專欄--做酷 6946

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Google Chromium源代码Windows下编译步骤

    想看看Google Chromium浏览器的源代码,长点见识,下载源代码包编译和参考网上的一些文档总是有一些问题,根据Chromium提供的文档进行编译的步骤,最终能够进行正常的编译与调试。     环境准备1.安装Microsoft Visual Studio 2005 Service Pack 1.2.安装Microsoft Windows SDK v6.1.3.开

Docoocoo的專欄--做酷 5381

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SSDT入门

一:SSDT【1】SSDT看来是一个兵家必争之地,无论是安全软件还是恶意代码都在上面做着手脚。【图System Module Dependencies】揭示了系统各模块之间的依赖关系(有所简化) 从图中可以看出,所有的Win32 API调用最后都转移到了ntdll.dll,而ntdll.dll又将其转移到了ntoskrnl.exe。ntdll.dll是一个操作系

Docoocoo的專欄--做酷 3199

FS:0与FS:[0]

 FS:0指向线程环境块TEB;FS:[0]指向当前线程的结构化异常处理结构(SEH);FS:0指向TEB的理解应该是:TEB结构存放于FS段从0开始的位置,整个TEB结构数据在FS段中;FS:[0]指向当前线程的结构化异常处理结构的理解应该是:在FS:0所指向的TEB结构中,第一个元素指向当前线程的结构化异常处理结构,而这个结构存在与DS段中;部分TEB如下:ntdll!

Docoocoo的專欄--做酷 2114
上一篇: 【主题】关于做代码以及文档review的一些问题
下一篇: Windows Update之官方解决方案
Docoocoo
博客等级 码龄21年 3粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值