摘要: 输入您的搜索字词 提交搜索表单 使用STL编写的新老身份证号转换程序,自动识别输入的身份证号码类型并进行转换,代码的主体是下两个函数,身份证号码转换的方法参看文后的附录: 将15位身份证号转换成18位号码string Conver15To18(const string& str15bID){static char szJiaoyan[11] = {'1','0','X','9','8','7','6','5','4','3',& 阅读全文
posted @ 2005-08-24 19:25 oRbIt 阅读(4302) 评论(0) 推荐(0) 编辑
摘要: HBRUSH CCustDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);TCHAR szClassName[64];::GetClassName(pWnd->GetSafeHwnd(),szClassName,64);if(lstrcmpi(szClassName,_T("Edit")) == 0) //是Edit 控件{DWORD dwStyle = pWnd->GetStyle(); 阅读全文
posted @ 2005-08-23 20:07 oRbIt 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 想使自己的软件与众不同就要给软件加点“色”,一个颜色搭配协调的窗口要比windows千篇一律的灰底黑字更能吸引别人的眼球。设想如果html浏览器显示的网页都是白底黑字,还会有那么多的mm喜欢上网吗?可能互联网的人气将下降一半。做个出色的界面对于老手来说可能不在话下,但是对于新手来说还是无从下手,使用BCGControlBar和Xtreme Toolkit是个很好的选择,不过对于一个小程序使用这么大的库未免有头重脚轻的感觉。其实不使用这些庞然大物一样可以做个很“色”的界面,本文就结合CSDN论坛上经常被问起的问题,介绍几个给对话框上色的方法。本文的方法都是针对MFC程序的,其他方法请参看“创建. 阅读全文
posted @ 2005-08-23 19:48 oRbIt 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 操作QQWary.dat数据文件的类摘要:QQwry是目前使用很广泛的IP地址数据库,本文研究了QQwry数据文件的格式,编写了一个读取数据文件,查询IP地址信息的类,并附带完整的演示例子的VC代码。关键字:IP地址查询,QQwry 2002年末的时候,我想给我的一个软件添加ip地址查询功能,当时很多QQ版本都支持显示ip地址信息,记得这种功能最早有一个名为“追捕”的软件就实现了,不过QQ使用的是一种新的ip地址数据库组织格式,相对于老的文本格式的数据文件,新的数据文件格式更加紧凑,查询效率更高。经过一番研究之后,我决定在我的程序中实现这个功能,于是我给cnss发了封邮件,希望得到QQwry. 阅读全文
posted @ 2005-08-18 19:58 oRbIt 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 作者:星轨(oRbIt) E_Mail:inte2000@163.com 转载请注明原作者,否则请勿转载函数调用约定和名字修饰规则不匹配引起的常见问题 函数调用时如果出现堆栈异常,十有八九是由于函数调用约定不匹配引起的。比如动态链接库a有以下导出函数:long MakeFun(long lFun); 动态库生成的时候采用的函数调用约定是__stdcall,所以编译生成的a.dll中函数MakeFun的调用约定是_stdcall,也就是函数调用时参数从右向左入栈,函数返回时自己还原堆栈。现在某个程序模块b要引用a中的MakeFun,b和a一样使用C++方式编译,只是b模块的函数调用方式是__c. 阅读全文
posted @ 2005-08-10 20:25 oRbIt 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 作者:星轨(oRbIt) E_Mail:inte2000@163.com 转载请注明原作者,否则请勿转载函数名字修饰(Decorated Name)方式 函数的名字修饰(Decorated Name)就是编译器在编译期间创建的一个字符串,用来指明函数的定义或原型。LINK程序或其他工具有时需要指定函数的名字修饰来定位函数的正确位置。多数情况下程序员并不需要知道函数的名字修饰,LINK程序或其他工具会自动区分他们。当然,在某些情况下需要指定函数的名字修饰,例如在C++程序中,为了让LINK程序或其他工具能够匹配到正确的函数名字,就必须为重载函数和一些特殊的函数(如构造函数和析构函数)指定名字装. 阅读全文
posted @ 2005-08-10 20:16 oRbIt 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 作者:星轨(oRbIt) E_Mail:inte2000@163.com 转载请注明原作者,否则请勿转载 使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆栈异常。这些现象通常是出现在C和C++的代码混合使用的情况下或在C++程序中使用第三方的库的情况下(不是用C++语言开发的),其实这都是函数调用约定(Calling Convention)和函数名修饰(Decorated Name)规则惹的祸。函数调用方式决定了函数参数入栈的顺序,. 阅读全文
posted @ 2005-08-10 20:06 oRbIt 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 作者:星轨(oRbIt) E_Mail :inte2000@163.com 转载请注明原作者,否则请勿转载 在下拉列表框中显示树状结构 下拉列表框(或称组合列表框)是在Windows系统下开发软件最常用的控件之一,该控件适用性强且使用简单,因而深受开发人员喜爱。一个典型的用户界面就是使用下拉列表框(或称组合列表框)显示数据库中相关表名或某个表中的某个字段的全部数据,用户通过鼠标选择某一项后进行相关操作。在这种情况下使用下拉列表框对数据选择可以简化操作,用户也比较喜欢这种方式,但是简单的下拉列表框无法表达数据之间的相互关系,比如两个数据项之间的父子关系或包容关系等。开发人员通常希望能在简化用户操 阅读全文
posted @ 2005-08-08 18:15 oRbIt 阅读(2518) 评论(0) 推荐(0) 编辑
摘要: 作者:星轨(oRbIt) E_Mail:inte2000@163.com 转载请注明原作者,否则请勿转载 输入您的搜索字词 提交搜索表单 什么是进程?什么是线程?它们之间到底是什么关系?这是论坛上常被初学者问起的几个高频问题之一,多数程序员开始在Windows平台上编程时也会迷惑于这个问题。本文简单介绍了进程和线程的关系,同时对编程中常见的一些问题进行了解释。 操作系统对进程的定义是特定的代码序列在指定数据集合上的一次执行活动,可见这是一个动态概念,所以一些资料说进程就是可执行文件是不正确的。操作系统对进程的定义有些晦涩,通俗点讲,进程就是正在计算机上运行的可执行文件针对特定的输入数据的一个. 阅读全文
posted @ 2005-07-30 16:45 oRbIt 阅读(176) 评论(0) 推荐(0) 编辑
摘要: WTL for MFC Programmers, Part VIII - Property Sheets and Wizards原作 :Michael Dunn [英文原文]翻译 :Orbit(星轨 oRbIt) [http://www.winmsg.com/cn/orbit.htm] 输入您的搜索字词 提交搜索表单 下载演示程序代码本章内容 介绍 WTL 的属性表类 CPropertySheetImpl 的方法 WTL 的属性页类 CPropertyPageWindow 的方法 CPropertyPageImpl 的方法 处理通知消息 创建一个属性表 最简单的属性表 创建一个有用的属性页 创 阅读全文
posted @ 2005-05-24 20:50 oRbIt 阅读(248) 评论(0) 推荐(0) 编辑