DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 388 389 390 391 392 393 394 395 396 ··· 474 下一页

2013年11月21日

摘要: 转载地址:http://www.cnblogs.com/chio/archive/2008/08/05/1261296.html目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称"静态库"),另一种为动态连接库(DLL,以下简称"动态库")的导入库(Import Libary,以下简称"导入库")。静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj有错,即静态lib只是壳子。动态 阅读全文
posted @ 2013-11-21 10:49 DoubleLi 阅读(450) 评论(0) 推荐(0)

摘要: DLL的动态链接有两种方法。一种是加载时动态链接(Load_time dynamic linking)。Windows搜索要装入的DLL时,按以下顺序:应用程序所在目录→当前目录→Windows SYSTEM目录→Windows目录→PATH环境变量指定的路径。 前天看到这几句,突然设计出一道自认绝妙的笔试题:"如果采用加载时动态链接的方式,Windows搜索要装入的DLL采用怎样的顺序?"这个是基础题,估计你很容易答出(答案就是上面的)。呵呵,我还有后着呢:"你是如何证明Windows搜索要装入的DLL遵循这样的顺序呢,说出你的证明步骤" 你可以思考一 阅读全文
posted @ 2013-11-21 10:47 DoubleLi 阅读(841) 评论(0) 推荐(0)

摘要: 本文阅读基础:有一定的C++基础知识(了解继承、回调函数),对MFC的消息机制有一定了解,对COM的基础知识有一定了解,对ActiveX控件有一定了解。一. 前言 ActiveX控件和它的容器程序如何通讯是一个值得研究的问题,因为这涉及到ActiveX控件和它的容器程序如何交互的问题。VC知识库的杨老师写了一系列博客介绍了一些通讯方式。链接如下:COM 组件设计与应用(十三)--事件和通知(VC6.0)COM 组件设计与应用(十四)--事件和通知(vc.net)COM 组件设计与应用(十五)--事件和通知(VC6.0)COM 组件设计与应用(十六)--事件和通知(vc.net) 这些文章写得真 阅读全文
posted @ 2013-11-21 10:44 DoubleLi 阅读(2745) 评论(0) 推荐(0)

摘要: 使用VS 2008新建一个MFC ActiveX工程,因为在工程里要用到GDI+。我习惯把初始化GDI+库的代码放在应用程序类的InitInstance函数,对应的销毁代码放在ExitInstance函数。具体如下:先在应用程序类里定义一个数据成员:[cpp]view plaincopy ULONG_PTRm_gdiplusToken;然后添加初始化GDI+库的代码和对应的销毁代码:[cpp]view plaincopy BOOLCImagePreviewXApp::InitInstance(){BOOLbInit=COleControlModule::InitInstance();if(bI 阅读全文
posted @ 2013-11-21 10:41 DoubleLi 阅读(1403) 评论(0) 推荐(0)

摘要: 1、不同线程的处理方法如何在2K/xp下使窗口获取焦点在2K/XP下我们可以用 AttachThreadInput 和SetForegroundWindow来有效的获取焦点。//捕捉并设置当前焦点窗口为我们的窗口AttachThreadInput( GetWindowThreadProcessId( ::GetForegroundWindow(),NULL), GetCurrentThreadId(),TRUE);//置我们的为焦点窗口SetForegroundWindow();SetFocus(); //释放threadAttachThreadInput( G... 阅读全文
posted @ 2013-11-21 10:36 DoubleLi 阅读(956) 评论(0) 推荐(0)

摘要: 转载地址:http://www.cnitblog.com/martin/archive/2006/04/21/9460.html 首先,应该是MFC报告我们发现内存泄漏。注意:要多运行几次,以确定输出的内容不变,特别是{}之间的数值,不能变,否则下面的方法就不好用了。我们来看看:F:/CodeSample/Test/TestPipe/LeakTest/MainFrm.cpp(54):{86}normalblockat0x00422E80,10byteslong.Data:1F1F1F1F1FCDCDCDCDCDF:/CodeSample/Test/TestPipe/LeakTest/MainF 阅读全文
posted @ 2013-11-21 10:34 DoubleLi 阅读(1470) 评论(0) 推荐(0)

摘要: 基于文档视图结构程序的双缓冲绘图框架比较多,那么如何在对话框上绘图呢?以前通常的做法是拖一个静态文本控件或其它控件当作绘图区域或者在这个区域上创建一个视图出来。看了微软的一个示例程序DrawCli(一个绘图的单文档程序),产生了一些灵感,决心把它移植到对话框绘图上,摸索了一下,搞了一个基于对话框的简单双缓冲绘图框架。 具体代码如下,对话框头文件代码:[cpp]view plaincopy #include//@brief直线结构体structstLine{stLine(CPoint&Begin,CPoint&End){m_Begin=Begin;m_End=End;}//@br 阅读全文
posted @ 2013-11-21 10:32 DoubleLi 阅读(757) 评论(0) 推荐(0)

摘要: MFCGrid control是一款非常优秀的网格控件,支持非常丰富的界面元素,如下图:因而在数据库程序及报表程序应用较为广泛,其源码可以在下面下载到:MFC Grid control2.27源码下载 MFC Gridcontrol的作者并没有将其封装为DLL,因为在程序的多个模块复用这个控件比较麻烦(需要在多个工程中加入其源码),因此最好将其封装为一个DLL。今天有同事反映在DLL的对话框中无法使用封装好的MFC Grid control,于是上网查了下资料,晚上摸索了一下,解决了这个问题。 MFC Grid control的作者在设计该控件并没考虑到在DLL中使用该控件,因此在其控件类CG 阅读全文
posted @ 2013-11-21 10:29 DoubleLi 阅读(607) 评论(0) 推荐(0)

摘要: 一般而言,在 Windows编程中创建对话框需要先定义一个对话框资源。我想能不能不用资源文件单纯通过代码创建对话框呢?晚上搜索了一些资料,研究了一下,基本实现了。我写了一个KDialog,代码如下(代码中有一些注释,相信大家能基本看懂):头文件的代码:[cpp]view plaincopy //kdialog.h#ifndefKDIALOG_H_INCLUDED#defineKDIALOG_H_INCLUDED#defineID_HELP150#defineID_EDIT180#defineID_TEXT200classKDialog{public:KDialog(HINSTANCEhinst 阅读全文
posted @ 2013-11-21 10:28 DoubleLi 阅读(897) 评论(0) 推荐(0)

摘要: 最近需要一个浮点数编辑框。所谓浮点数编辑框,就是限制输入只在”-1234567890.” 这些字符,其它字符不予输入(用户输错了冒一个气泡进行提示)。本想使用BCG库的CBCGPMaskEdit类,无奈该类允许重复输入小数点,不满足我的需求。于是上网搜了一个,发现是基于VS2010的。VS 2010的编辑框已经实现了自动冒泡提示了。但是我的工程是VS 2005的。于是我设法在VS 2005实现编辑框的冒泡提示。实际上这个也不难,主要是使用Edit_ShowBalloonTip宏。下面是编辑框的主体代码:[cpp]view plaincopy BEGIN_MESSAGE_MAP(CMyFloat 阅读全文
posted @ 2013-11-21 10:22 DoubleLi 阅读(952) 评论(0) 推荐(0)

上一页 1 ··· 388 389 390 391 392 393 394 395 396 ··· 474 下一页