自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

转载 QTcpSocket类和QTcpServer类 收藏

 QTcpSocket类和QTcpServer类 收藏 QTcpSocket 详细描述:QTcpSocket 类提供一个TCP套接字TCP是一个面向连接,可靠的的通信协议,非常适合于连续不断的数据传递QTcpSocket 是QAbstractSocket类非常方便的一个子类,让你创建一个TCP连接和数据流交流。注意:TCP套接字不能以QIODevice::Unbuffered模式来打开在Symbian系统上,程序想用这个类的话必须拥有NetworkServices平台支持,如果客户机缺少这个能力,将会导致"

2011-03-26 11:51:00 1203

转载 Windows Socket 套接字编程原理(转载)

Windows Socket 套接字编程原理(转载)<br /> <br />一、客户机/服务器模式<br />在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:<br /><br />首先服务器方要先启动,并根据请示提供相应服务:(过程如下)<br />1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。<b

2010-09-18 17:03:00 784

转载 WPARAM 和 LPARAM,消息响应机制以及LPVOID的说明

查看文章  WPARAM 和 LPARAM,消息响应机制以及LPVOID的说明2010-07-19 10:15<br />简介:这是WPARAM 和 LPARAM,消息响应机制以及LPVOID的说明 的详细页面,介绍了和asp.net,有关的知识,加入收藏请按键盘ctrl+D,谢谢大家的观看!要查看更多有关信息,请点击此处<br />LPVOID <br />LPVOID是一个没有类型的指针,也就是说你可以将任意类型的指针赋值给LPVOID类型的变量(一般作为参数传递),然后在使用的时候在转换回来。<br

2010-09-14 16:58:00 704

转载 C++ 中list、vector和deque比较

C++ 中list、vector和deque比较<br />默认分类2009-03-10 17:55:48阅读67评论0  字号:大中小 订阅<br />Ladies & Gentlemem:<br />大家好,这里是首届C++模板武道会的现场,本次武道会由beyond_ml做东,第一场解说员为beyond_ml。由于首次举办这样规模空前的盛会,难免有疏漏之处,还请各位高手不吝赐教。Beyond_ml有理啦。同时也欢迎各位大虾把此次武道会看做是一个虚基类,不断继承,派生出新的比赛。<br />比赛开始:<b

2010-09-14 09:46:00 2268

转载 c++Primer笔记

<br />打开一个仅用于输出文件:ofstream outfile("copy.out",ios_base::out);//文件名,打开模式<br />ios_base::out 输出模式  ios_base::app 附加模式,输出模式打开已经存在的文件,则文件中的数<br />据将被丢弃,如果附加模式打开,新数据将添加在文件尾部,两种模式中,如果文件不存在,程序会创建<br />一个新文件.<br />打开一个作为输入的文件:ifstream inFile("filename")<br />   ou

2010-09-13 16:00:00 621

转载 动态内存分配应用举例(链表)

<br />动态内存分配应用举例(链表)<br /> 我们知道,数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行随机访问。但若对数组元素进行插入和删除操作,则会引起大量数据的移动,从而使简单的数据处理变得非常复杂,低效。<br /> 为了能有效地解决这些问题,一种称为“链表”的数据结构得到了广泛应用。<br />1. 链表概述<br />链表是一种动态数据结

2010-09-10 17:23:00 661

转载 如何编写dll文件:

<br />如何编写dll文件:<br />可以用几种语言来实现,如delphi编写dll,pb编写dll文件,java 编写dll,vc 编写dll,mfc dll 编写等。<br />——动态链接库(dll)是包含共享函数库的二进制文件,可以被多个应用程序同时使用。建立应用程序的可执行文件时,不必将DLL连接到应用程序中,而是 在运行时动态装载DLL,装载时DLL被映射到调用进程的地址空间中。通常我们在调用DLL时所需的DLL文件必须位于以下三个目录之一: <br />——(1)Windows的系统目录

2010-09-10 11:11:00 777

转载 如何用vc编写dll文件

<br />如何用vc编写dll文件<br />动态连接库最大的特点就是能节省磁盘空间.当多个进程共享同一个DLL的时候,内存中只有一个DLL的代码.通过映射来使各个进程得以调用.<br />1.用VC建立一个WIN32 DLL<br />我们利用VC编写DLL有几种方法.如果用VC建立一个WIN32 DLL 工程.那这个工程就应该只导出C++的类或全局变量.和全局函数.方法就是在CPP文件中编写你的代码,为每个需要导出的元素进行导出办法是增加如下语句:<br />_declspec(dllexport)<

2010-09-10 09:55:00 1001

转载 Visual Graph图形平台的使用

<br />Visual Graph图形平台的使用<br />本人所在单位于2005年购买了北京图王的Visual Graph图形引擎平台企业版,此期间使用Visual Graph图形引擎平台开发了不少图形应用项目:电力设备管理系统、电力一次接线图管理系统,二次接线图管理系统,图形配调系统,操作票、任务票的两票系统,现在我将自己使用的一些Visual Graph在开发的时候遇到的一些问题与感受及经验整理成一篇文章,抛砖引玉,期待得到大家指点来指点一下。<br /> 由于我们单位的系统都是老系统,delphi

2010-09-09 15:45:00 10489 3

转载 剖析MFC多线程程序的同步机制

【译】剖析MFC多线程程序的同步机制<br />  原文链接:Synchronization in Multithreaded Applications with MFC<br /><br /> <br />  <br />简介<br />本文探讨基本的同步概念,并实际动手帮助新手掌握多线程编程。本文的重点在各种同步技巧。<br />基本概念<br />在线程执行过程中,或多或少都需要彼此交互,这种交互行为有多种形式和类型。例如,一个线程在执行完它被赋予的任务后,通知另一个线程任务已经完成。然后第二个线程做

2010-09-03 11:47:00 612

转载 COM组件开发实践(六)---From C++ to COM :Part 3

COM组件开发实践(六)---From C++ to COM :Part 3<br />     在上一篇文章《COM组件开发实践(五)---From C++ to COM :Part 2》中,我们进展到使用COM库加载C++对象了,这一篇中我们将真正将C++对象变成 COM对象,而在下一篇中我们将为它添加多接口支持。<br />C++对象变成COM对象<br />要将一个C++对象变成一个真正的COM对象,只需要如下操作:<br />1)实现接口的引用计数。因此每个COM对象都需要有两个函数用于管理引用计

2010-09-03 11:10:00 402

转载 COM组件开发实践(五)---From C++ to COM :Part 2

COM组件开发实践(五)---From C++ to COM :Part 2<br />一,使用抽象基类重用C++对象<br />在上一篇文章《COM组件开发实践(四)---From C++ to COM :Part 1》中,我们已经将要复用的C++对象封装到DLL中了,对象的声明和实现已经实现了剥离,但还有问题:对象的私有成员(如我们示例中CDB类的数组变量m_arrTables)还是被客户看得一清二楚,即使客户没办法去访问它们;若对象改变了它的数据成员的大小,则所有的客户程序必须重新编译。<br />而

2010-09-03 11:08:00 381

转载 COM组件开发实践(四)---From C++ to COM :Part 1

COM组件开发实践(四)---From C++ to COM :Part 1<br />源代码下载 – 74kb<br />一,C++客户重用C++对象     二)修改对象程序。在上一节中,重用的对象是以DBSRV.h和DBSRV.cpp这两个文件形式存在的。这一次我们要将其封装为一个DLL供客户程序调用。<br />新建一个Win32 DLL项目,在其中加入两个cpp文件,一个用于实现CDB类,代码如下<br />作者:洞庭散人<br />出处:http://phinecos.cnblogs.com/本

2010-09-03 11:05:00 370

转载 我的书架:COM组件开发

我的书架:COM组件开发 推荐几本个人读过的比较不错的COM组件相关的书籍,按我的阅读感受排名如下:1,《Visual C++实践与提高-COM和COM+篇》 这本书我放在第一位,倒不是它有多么出色,但我却认为它是最适合新手的。它的内容基本都是抄袭下面潘爱民那本《COM原理与应用》的,但我推荐它有两点原因,首先,基本照搬潘那本书的原理性的东西,但加入了许多实例,比前者纯理论的书要易读些,对于新手更容易接受。其次,它的第二章实在是写的太出色,带你从c++一步步走向C

2010-09-03 10:36:00 629

转载 COM组件开发实践(三)

COM组件开发实践(三)<br />     前面两篇文章分别介绍了MFC ActiveX应用程序和使用ATL开发ActiveX的简单实例,但还有两个问题需要解决:<br />1)标记ActiveX控件为安全的控件 2)对控件进行数字签名。本文将结合这两点进行简单的介绍。<br />Building a Safe ActiveX Control<br />      如何不想办法将控件标记为安全的,就会在Web页面与控件进行交互时出现如下图的警告信息:<br /><br />     下面将分别介绍在MFC

2010-09-03 10:34:00 487

转载 COM组件开发实践(二)

COM组件开发实践(二)<br />假设需求如下:底层是一个数学运算库DLL,中间是ActiveX控件(它调用底层的数学运算库DLL来完成控制层),界面层在测试时可以是一个exe程序,最后发布到IE浏览器上测试。<br /> <br />数学运算库DLL的开发<br />      新建一个Win32 DLL项目,加入一个头文件MyNum.h,在其中声明所有的数学函数(为简单起见,本文只考虑加法运算),代码如下:#ifndef MY_NUM_H<br />#define MY_NUM_H<br />int 

2010-09-03 10:32:00 341

转载 COM组件开发实践(一)

COM组件开发实践(一)<br /><br /> Preface<br />      因为项目需要,开始从事ActiveX方面的工作,看了一些资料,可惜都是些COM原理方面的,没有切合实际动手的东西,在CodeProject上读完David Marcionek的文章【1】后,收获良多,但也遇到一些恼人的小问题,因此在其基础上就一些易错点做些小注解。本文版权归David Marcionek所有。<br />简介 <br />本文目的在于让你快速掌握ActiveX控件开发技术,将会展示开发ActiveX应该知

2010-09-03 10:24:00 608

转载 UNICODE 编程入门

 [ 原创文档 本文适合初级读者 已阅读51595次 ]文档代码工具<br /><br />UNICODE 编程入门<br />作者:NorthTibet<br /><br />简介<br />    如果你编写的程序是针对非英语国家的用户,如中国、日本、东欧和中东地区,那么你一定要熟悉 UNICODE 字符集。尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果你想让自己的应用程序得到更广泛的用户,那么必须考虑代码 UNICODE 的兼容性,也就是说它既在 ASCII 模式下

2010-08-26 15:32:00 334

转载 虚拟按键的总结

<br />功能键:ESC:VK_ESCAPE,TAB:VK_TAB,PageUp:VK_PRIOR,PageDown:VK_NEXT <br /><br />       Insert:VK_INSERT,Home:VK_HOME,End:VK_END <br /><br />       Alt:VK_ALT,Ctrl:VK_CONTROL,Shift:VK_SHIFT,Delete:VK_DELETE <br /><br />       上,下,左,右:VK_UP,VK_DOWN,VK_LEFT,V

2010-08-23 17:22:00 938

转载 PreTranslateMessage()

<br />1.函数原型:(MSDN)<br />virtual BOOL PreTranslateMessage( MSG *pMsg );<br />功能:<br />    Override   this   function   to   filter   window   messages   before   they   are   dispatched   to   the   Windows   functions TranslateMessage   and DispatchMessag

2010-08-20 11:58:00 1445

转载 如何实现工具栏的下拉箭头按钮

<br />本文示例源代码或素材下载<br />  论坛中有人曾经问过这样的问题:如何在C++/MFC程序中实现类似IE工具栏中带下拉箭头的按钮,如图一所示:<br /><br />  图一 IE工具栏中带下拉箭头的按钮<br />  本文将告诉你如何实现,方法其实很简单:<br />  1、新建一个MFC/SDI工程,一路都取默认的设置。<br />  2、在mainframe.cpp文件中找到 CMainFrame::OnCreate()框架窗口创建函数。在末尾添加如下代码行: DWORD dwExSt

2010-08-19 14:38:00 1623

转载 工具条研究手记(8)- 关于工具条按钮文字的显示

/*****************************************************************//*        工具条研究手记(1) - 工具条基础                         *//*****************************************************************/CToolBar控件是MFC提供的一个类,实现了一般窗口应用中的工具条。通常用于SDI或者MDI程序中,对话框程序中通常不使用工具条。

2010-08-19 10:28:00 431

转载 工具条研究手记 -工具条下拉按钮的实现

/*****************************************************************//*        工具条研究手记(1) - 工具条基础                         *//*****************************************************************/CToolBar控件是MFC提供的一个类,实现了一般窗口应用中的工具条。通常用于SDI或者MDI程序中,对话框程序中通常不使用工具条。

2010-08-19 10:26:00 611

转载 工具条研究手记1

<br />/*****************************************************************/<br />/*        工具条研究手记(1) - 工具条基础                         */<br />/*****************************************************************/<br /><br />CToolBar控件是MFC提供的一个类,实现了一般窗口应用中的工具条。通

2010-08-19 10:25:00 1218

转载 MFC类库之CArchiveException

<br />MFC类库之CArchiveException<br /> <br /><br /> <br />CArchiveException对象标识一个串行化异常条件。CArchiveException类包括一个公共数据成员,它可以确定异常的原因。<br /> <br />CArchiveException在CArchive成员函数被构造并可以在一个CATCH表达式的范围内访问这些对象。原因代码与运行系统无关。如果要了解关于异常进程的更多信息,请参阅联机文档“Visual C++程序员指南”中的“异常”

2010-08-13 17:54:00 2240

转载 MFC类库之CArchive

MFC类库之CArchive CArchive没有基类。 CArchive允许以一个永久二进制(通常为磁盘存储)的形式保存一个对象的复杂网络,它可以在对象被删除时,还能永久保存。可以从永久存储中装载对象,在内存中重新构造它们。使得数据永久保留的过程就叫作“串行化”。 可以把一个归档对象看作一种二进制流。象输入/输出流一样,归档与文件有关并允许写缓冲区以及从硬盘读出或读入数据。输入/输出流处理一系列ASCII字符,但是归档文件以一种有效率、精练的格式处理二进制对

2010-08-13 17:53:00 2994 2

转载 VC设置STATIC控件背景透明

<br />VC设置STATIC控件背景透明<br /> <br />编号:A3GS_TV20100325002<br /> <br />描述:<br /> <br />本文以例子代码的形式讲述了VC中如实现设置控件字体颜色。<br /> <br />技术实现:<br /> <br />在OnCtlColor函数中添加如下代码:<br /> <br />if( nCtlColor==CTLCOLOR_STATIC )<br />{<br />     pDC->SetBkMode(TRANSPARENT);

2010-08-13 17:42:00 1122

转载 VC设置控件字体颜色

<br /> <br /><br />VC设置控件字体颜色<br /> <br />编号:A3GS_TV20100325003<br /> <br />描述:<br /> <br />本文以例子代码的形式讲述了VC中如实现设置控件字体颜色。<br /> <br />技术实现:<br /> <br />在OnCtlColor函数中添加如下代码:<br /> <br />if(nCtlColor==CTLCOLOR_STATIC) <br />{ <br />     pDC->SetTextColor(RGB

2010-08-13 17:40:00 837

转载 VC中如何给对话框加背景图片

<br /> <br /><br />VC中如何给对话框加背景图片<br /> <br />方法一:<br /> <br />   1、声明成员变量<br /> <br />      CBrush m_brush;<br /> <br />   2、在InitDialog中添加代码:<br /> <br />      CBitmap bmp;<br />      //这个IDB_BITMAP1要自己添加<br />      bmp.LoadBitmap(IDB_BITMAP1);<br />    

2010-08-13 17:34:00 915

转载 VC中CListCtrl排序

<br /> <br />VC中CListCtrl排序<br /> <br />编号:A3GS_TV20100113001<br /> <br />描述:<br /> <br />本文以实例代码的形式讲述了在VC中实现CListCtrl的排序。<br /> <br />例子:<br /> <br />请下载文本例子代码<br /> <br />技术实现:<br /> <br />一、声明一个用于排序用的结构体,如下:<br />    typedefstruct tag_ListSortNode<br />

2010-08-13 17:32:00 2289

转载 CComboBox中使用附加数据

<br />  <br />CComboBox中使用附加数据<br /> <br />在使用CComboBox时有时候我们不仅仅需要显示给用户的数据,同时还需要一些用户看不到的数据,比如当用户选择了特定的选项时我们还需要根据选项来得到一些附加的数据,这时我们就需要用到CComboBox中的附加数据。<br />为了使用CComboBox中的附加数据我们可以用其SetItemData与GetItemData来设置与获取选项中的附加数据,使用例子如下:<br />void CTestcomboboxDlg::O

2010-08-13 17:30:00 3143

转载 让ClistBox具备拖放功能

<br />让ClistBox具备拖放功能<br />我们知道CListBox是不具备拖放功能的,那么如何让其具备拖放功能功能呢?在MFC里给我们提供了一个CDragListBox的类,此类的操作方法与ClistBox一样的只不过他具备了拖放功能;所以我们的做法就是把原来的CListBox替换成CdragListBox,具体操作方法如下:<br />1.  在对话框上放上一个ListBox控件<br />2.  修改ListBox控件的属性,去掉在"Style"页里的"Sort"属性,同时确保为单选<br

2010-08-13 17:29:00 1046 1

转载 CComboBox常用法

<br />  <br />CComboBox常用法<br />1.  CComboBox创建<br />    声明:<br />    virtual BOOL Create(<br />       DWORD dwStyle,//风格<br />       const RECT& rect,//区域<br />       CWnd* pParentWnd,//父窗口<br />       UINT nID //控制ID<br />);<br />例子:<br />m_pComboBox->Cr

2010-08-13 17:27:00 7639

转载 VC动态改变CComboBox风格

<br />大部分时候CComboBox的风格由设计时来选定,但有些时候也需由程序动态的改变其风格;这时我们发现用其自带的ModifyStyle函数并不会起作用,::GetWindowLong获取其风格然后再加入或去除我们的目标风格再用::SetWindowLong我们发现也并不起作用;那么如何实现动态的改变其风格呢?<br />      我们知道CComboBox中有一个Create函数用于创建CComboBox实例;这样我们就可以用Create方法来动态的改变其风格,只是在Create之前我们需要把原

2010-08-13 17:26:00 3267

转载 VC6修改对话框颜色方法

<br />VC6修改对话框颜色方法<br />在软件开发中,出于界面的美观或是别的目的我们需要修改对话框的颜色,这时我们可以通过如下方法来达到目的。<br />1、  修改App类中的InitInstance函数来改变应用程序中所有的对话框颜色<br />本方法所用函数为CWinApp类的成员函数SetDialogBkColor,关于SetDialogBkColor的详细说明请参见MSDN;使用例子如下:<br />BOOL CTestApp::InitInstance()<br />{<br />   

2010-08-13 17:23:00 2794

转载 CRectTracker类的使用

<br />CRectTracker类的使用<br />作者:二鸡蛋<br />CRectTracker(俗称“橡皮筋”类)是一个非常有意思的类。你在Windows中经常看到这样的情况:它可以用做显示边界,你也可以扽它的八个角用来放大缩小,或做框选使用。如何通过编程来实现这种功能呢?这就是CRectTracker类的作用;<br /><br />            <br />(框选)                         (显示边界并可以缩放)<br />例子(源程序)<br />你打开上面

2010-08-13 16:53:00 421

转载 文档创建,文件的打开, 保存

<br /> Visual C++应用框架提供的强大功能,为我们的程序开发提供了极大的方便,利用其应用生成器可以很轻松地生成应用程序的框架.许多常用功能,例如文档的创建,文件的打开,保存等操作的大部分代码都由应用框架来完成.这些操作对于开发软件的用户而言,是透明的. Microsoft公司的设计Visual C++的初衷是尽量向用户提供尽可能简单的接口,但是,正是因为应用框架的这一透明性,使Visual C++的运行流程显得非常神秘,当涉及这些Visual C++已经提供的功能模块的软件开发时,用户(特别是

2010-08-13 16:50:00 551

转载 VC中CList用法及其成员的使用

<br />初学mfc者,往往对CList等mfc的Collect类的使用感到迷惑,在使用中经常会遇到许多问题,导致对vc中的Collect类的使用产生了惧怕。以下,就个人经历而言,告诉大家如何使用CList。<br />CList是一个双向链表类。<br />    1、头文件名不可少<br />Clist类定义在Afxtempl.h 头文件中,因此在使用该类时,需要加这个头文件名。<br />    2、理解CList的声明和构造方法<br />CList的声明如下:<br />template< cl

2010-08-09 15:50:00 461

转载 被占用文件操作三法

<br />被占用文件操作三法 收藏 此文于2010-08-03被推荐到CSDN首页<br />如何被推荐?<br />无疑我们中的很多人都会遇到需要读写被其它进程占用的文件的情况,比如说在编写backup程序或是trojan的时候。能从系统中抽出SAM文件,或是读取其它某些用标准方法无法成功访问的文件显然是件不错的事情。比如说当用标志dwShareMode = 0打开文件时,其它进程就不能对它进行访问了。一个很好的例子就是网络寻呼机程序Miranda。这个程序在自己工作的时候不允许别人打开自己的数据库。假

2010-08-06 23:08:00 364

转载 C++模板使用介绍

<br />1. 模板的概念。 我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。 //函数1. int max(int x,int y); {return(x>y)?x:y ;} //函数2. float max( float x,float y){ return (x>y)? x:y ;} //函数3. doubl

2010-07-29 14:10:00 297

QTableView 中单元格添加控件的实例代码

QTableView 中单元格添加控件的实例代码

2010-11-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除