自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (5)
  • 论坛 (92)
  • 收藏
  • 关注

VC版本改写的变色龙按钮

乌拉圭软件作者gonchuki开发的变色龙按钮非常漂亮,也非常著名。源代码公开的版本最新为2.0.6B,下载地址为:http: //www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=37471&lngWId=1 由于该版本是VB开发的,在某些其它的IDE中有些属性不支持,比如说在VC中不支持ToolTipText。我将它改写为一个VC版本。但是该版本比2.0.6B有点删减,比如说gonchuki支持的按钮快捷键我改写的不支持。 另外,我新加了一种Graphic按钮类型,该类型按钮显示4个图片:通常状态图片、按下图片、鼠标移动在按钮上时的图片、Disable时图片,并且在这种类型下,没有按钮边框,可以让开发人员轻松灵活地制作各种按钮效果。 BLOG好像不能上传附件,我只好将接口定义文件及控件的H、CPP文件列出如下(我使用VC6创建的是MFC控件工程,工程名称是Chameleon) (最后:重发布请注明原作者gonchuki): PS:其实,这个改写的版本源代码我05-9月就已经发在CSDN上了,直到今天才发现,原来CSDN上还有个发软件的地方啊!(我果然已经老年痴呆了啊!)这个控件很多地方还改得不够完善,比如说,控件属性的枚举就没做,还有Transparent风格的按钮类型也没做。因为是改写别人的东东,所以只是想拿出来抛砖引玉,没打算继续开发下去,所以大家板砖千万轻点拍啊!^_^

2006-07-20

socket演示程序

过去做网络方面的东东的时候,为了试验一些SOCKET API,编写了一个演示的DEMO,可能有朋友用得到,仅在此抛砖引玉。 这个测试工程中对Socket封装的类的文件: Soc.h Soc.cpp 网络传输封装类 SocMesWnd 异步网络传输时,接收网络消息的窗体 该DEMO演示了以下技术: 1、CTCPServe、CTCPClient Tcp异步传输,含TCP客户端与TCP服务端 2、CUDPSocket Udp异步传输 & Udp组播 3、CUDPSock5 Udp Sock5传输 4、CFtp Ftp传输 设计说明: 每个传输类都有以下两个方法 void SetSocketNotify( HWND hWndMsg, UINT unMsg ){m_hWndMsg = hWndMsg; m_nMsg = unMsg;}; void SetSocketNotify(SOCKET_NOTIFY pFuncMes){m_pFuncMes = pFuncMes;}; 这两个函数用来设置发生socket事件后的外部响应方式,一种是通过窗口消息进行响应,一种是通过回调函数进行响应。这两种方式都是阻塞的。 当发生网络事件后,两种方式都会收到 WPARAM wParam, LPARAM lParam 这两个参数,其中wParam是NET_MSG枚举,表示网络事件,lParam是附加数据,由SetExtData函数预先设置好。 void SetBufferLen( int nLen ); 该函数是设置当socket收到数据后,接收数据的缓冲区的大小的。当收到数据事件发生时,首先会将数据接收在缓冲区中,然后向发部发送消息或者调用回调函数,外部模块可以在响应函数中调用类的 void GetData( const BYTE ** ppucBuf, int &nLen ) 来获取接收到的数据。 对于 CTCPServe这个类,有些使用上的注意点:会在收到远程连接请求后自动连接客户端,当远程连接断开时,也会自动删除连接该远程socket的子socket。CTCPServe由于每次接受连接请求后,建立了新的子socket去连接远程客户,所以它有些方法需要输入子通道的标识来完成某些功能。该标识会在接受连接请求后通过响应消息或者函数发送给外部。 比如说: int GetRemoteIP( int nID, CString& strPeerAddress, int &nPeerPort ); 这个函数用来获取远程连接的客户端的IP和端口,参数中就需要指定是哪个远程客户。 UDP传输类在接收数据的时候会将远程发送数据的主机IP和地址传送给外部。 CUDPSock5在实际使用中发现与sock5服务器的连接不是很稳定,大概是我没能很好地解析sock5协议的关系。 这个DEMO在后期添加了CFtp这个类,处理FTP下载。之所以未使用WinInet,因为它有一个MS确认的BUG:超时设置无效。这个FTP类演示了FTP协议的解析过程,完成常用的FTP功能(除FTP上传外,容我有空再做,^_^)。它也是异步的。这个类支持PORT和PASSIVE两种模式的FTP,

2006-07-27

VC版本改写的变色龙按钮

乌拉圭软件作者gonchuki开发的变色龙按钮非常漂亮,也非常著名。源代码公开的版本最新为2.0.6B,下载地址为:http: //www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=37471&lngWId=1 由于该版本是VB开发的,在某些其它的IDE中有些属性不支持,比如说在VC中不支持ToolTipText。我将它改写为一个VC版本。但是该版本比2.0.6B有点删减,比如说gonchuki支持的按钮快捷键我改写的不支持。 另外,我新加了一种Graphic按钮类型,该类型按钮显示4个图片:通常状态图片、按下图片、鼠标移动在按钮上时的图片、Disable时图片,并且在这种类型下,没有按钮边框,可以让开发人员轻松灵活地制作各种按钮效果。 BLOG好像不能上传附件,我只好将接口定义文件及控件的H、CPP文件列出如下(我使用VC6创建的是MFC控件工程,工程名称是Chameleon) (最后:重发布请注明原作者gonchuki): PS:其实,这个改写的版本源代码我05-9月就已经发在CSDN上了,直到今天才发现,原来CSDN上还有个发软件的地方啊!(我果然已经老年痴呆了啊!)这个控件很多地方还改得不够完善,比如说,控件属性的枚举就没做,还有Transparent风格的按钮类型也没做。因为是改写别人的东东,所以只是想拿出来抛砖引玉,没打算继续开发下去,所以大家板砖千万轻点拍啊!^_^

2006-07-20

Free Hex Control

希望大家表骂偶假洋鬼子,板砖?偶闪! /***************************************************************************** / / This software is published under the GPL 2. / For the detail about GPL 2, look into http://www.gnu.org / / author: sproll.gangaro / mail: sproll@163.com / / Hi every body, thanks for choosing Free Hex Control! / / Errrrr...Actually, I hesitate to release the source code of this control, / Because when I checked after completion, I found that it's really ugly! Putting all / graphic codes in the CDraw class is the worst idea, and this makes re-drawing / specific area difficult, so I lazily redraw almost the whole control whenever / it needs. This results in the slowness (I suggest you can use the control in data / display, ^_^). In next version, I will optimize draw efficiency, / making range class to express character and other elements. / And the ascii-bar will support multi-character language, / for example: Chinese, etc. / / Here are some description of some properties: / HScroll: extend control by horizontal scroll bar / AddressStart: the first byte's offset / AddressStyle: style of address, 0, HEX; 1, Dec / AddressNumber:number of address data in characters / ShowData: used in debugging, don't use it / SolidSelectionDisplay: / selected data's background is solid or not / BytesPerLine: if HScroll is true, how many bytes per line, / if HScroll is false, this depends on control's width / Group: separate data into groups or not in a line / GroupSize: if Group is true, how many bytes in a group / ShowCaret: high light the selected byte or not / ShowAddress: show address bar or not / ShowAscii: show ascii bar or not / ShowColumn: show column bar or not / AddressTextColor: / ColumnTextColor: / TextColor: / AsciiTextColor: / text color in each bar / *****************************************************************************/

2006-09-24

socket演示程序

过去做网络方面的东东的时候,为了试验一些SOCKET API,编写了一个演示的DEMO,可能有朋友用得到,仅在此抛砖引玉。 这个测试工程中对Socket封装的类的文件: Soc.h Soc.cpp 网络传输封装类 SocMesWnd 异步网络传输时,接收网络消息的窗体 该DEMO演示了以下技术: 1、CTCPServe、CTCPClient Tcp异步传输,含TCP客户端与TCP服务端 2、CUDPSocket Udp异步传输 & Udp组播 3、CUDPSock5 Udp Sock5传输 4、CFtp Ftp传输 设计说明: 每个传输类都有以下两个方法 void SetSocketNotify( HWND hWndMsg, UINT unMsg ){m_hWndMsg = hWndMsg; m_nMsg = unMsg;}; void SetSocketNotify(SOCKET_NOTIFY pFuncMes){m_pFuncMes = pFuncMes;}; 这两个函数用来设置发生socket事件后的外部响应方式,一种是通过窗口消息进行响应,一种是通过回调函数进行响应。这两种方式都是阻塞的。 当发生网络事件后,两种方式都会收到 WPARAM wParam, LPARAM lParam 这两个参数,其中wParam是NET_MSG枚举,表示网络事件,lParam是附加数据,由SetExtData函数预先设置好。 void SetBufferLen( int nLen ); 该函数是设置当socket收到数据后,接收数据的缓冲区的大小的。当收到数据事件发生时,首先会将数据接收在缓冲区中,然后向发部发送消息或者调用回调函数,外部模块可以在响应函数中调用类的 void GetData( const BYTE ** ppucBuf, int &nLen ) 来获取接收到的数据。 对于 CTCPServe这个类,有些使用上的注意点:会在收到远程连接请求后自动连接客户端,当远程连接断开时,也会自动删除连接该远程socket的子socket。CTCPServe由于每次接受连接请求后,建立了新的子socket去连接远程客户,所以它有些方法需要输入子通道的标识来完成某些功能。该标识会在接受连接请求后通过响应消息或者函数发送给外部。 比如说: int GetRemoteIP( int nID, CString& strPeerAddress, int &nPeerPort ); 这个函数用来获取远程连接的客户端的IP和端口,参数中就需要指定是哪个远程客户。 UDP传输类在接收数据的时候会将远程发送数据的主机IP和地址传送给外部。 CUDPSock5在实际使用中发现与sock5服务器的连接不是很稳定,大概是我没能很好地解析sock5协议的关系。 这个DEMO在后期添加了CFtp这个类,处理FTP下载。之所以未使用WinInet,因为它有一个MS确认的BUG:超时设置无效。这个FTP类演示了FTP协议的解析过程,完成常用的FTP功能(除FTP上传外,容我有空再做,^_^)。它也是异步的。这个类支持PORT和PASSIVE两种模式的FTP,

2006-07-27

ZT:《挤公交》之徐老太和彭宇版

发表于 2007-09-08 最后回复 2008-01-23

DriverStudio开发IRP_MJ_DEVICE_CONTROL的routine时设置OutBuffer的问题

发表于 2007-04-22 最后回复 2007-05-02

枚举广域网上的HTTP服务器的讨论

发表于 2007-03-25 最后回复 2007-04-14

使用STL中的auto_ptr时遇到一个explicit问题

发表于 2007-04-03 最后回复 2007-04-03

明天买彩票会中奖?

发表于 2007-03-29 最后回复 2007-03-30

散分!看了半年的驱动,终于安装上helloworld复杂度的自制驱动了!

发表于 2007-03-28 最后回复 2007-03-29

想做2D的游戏,directx 9c中找不到2D开发的库了。

发表于 2007-03-27 最后回复 2007-03-29

WSAEventSelect模型的socket,怎么在接收数据事件中判断收到的数据数量?

发表于 2007-03-14 最后回复 2007-03-15

VC2003可以不必使用delete []来删除数组?

发表于 2007-02-26 最后回复 2007-02-27

应用软件开发者想从事驱动开发,求指点。

发表于 2007-01-13 最后回复 2007-01-21

请问如何动态地改变一个CSplitWnd所绑定的视图?

发表于 2006-10-04 最后回复 2006-10-06

请问如何在VC中打开控件的属性对话框?

发表于 2006-09-10 最后回复 2006-09-10

请问我的窗体中的控件为什么不是XP风格的?

发表于 2006-01-25 最后回复 2006-01-25

在VC6中如何动态创建FLASH控件(VC7中已成功)

发表于 2005-12-03 最后回复 2005-12-09

请问CoCreateInstance创建了COM控件后接下来如何在窗口中显示它?

发表于 2005-12-03 最后回复 2005-12-06

请问怎样给控件加快捷键功能

发表于 2005-09-25 最后回复 2005-09-27

请问ATL控件项目中如何为一个自制控件添加快捷键功能(类似按钮快捷键)?

发表于 2005-09-20 最后回复 2005-09-24

请问VC6在制作支持MFC的ATL控件的时候,引用theApp出错的问题

发表于 2005-09-21 最后回复 2005-09-24

请问制作控件时,OnSize事件中设置控件区域为何出问题。

发表于 2005-09-16 最后回复 2005-09-17

请问制作控件属性页的问题

发表于 2005-09-04 最后回复 2005-09-16

请问怎样从一个IPictureDisp指针中获得IDispatch指针。

发表于 2005-07-27 最后回复 2005-07-28

问一个UDP传输疲劳问题。

发表于 2005-07-07 最后回复 2005-07-08

问一个DLL中导出CString参数的接口函数出错的问题

发表于 2005-05-01 最后回复 2005-05-03

请问如何将文字贴到一个固定的区域中

发表于 2005-03-26 最后回复 2005-03-27

请问一个ActiveX控件中引用DLL出现的问题。

发表于 2005-03-14 最后回复 2005-03-17

请问VC7中如何正确声明一个类的拷贝构造函数。

发表于 2005-01-12 最后回复 2005-01-13

请问为什么在ASP页面中操作ADO会失败,提示“操作必须使用一个可更新的查询。”

发表于 2004-12-02 最后回复 2004-12-02

请问UDP传输时,接收方有没有什么方法获得发送方的IP和端口?

发表于 2004-11-04 最后回复 2004-11-05

请问SOCKET 5编程中,代理端口1080的问题

发表于 2004-11-01 最后回复 2004-11-02

请问一个使用JRTP(3.02)进行流媒体传输时,如何穿透代理的问题。

发表于 2004-10-22 最后回复 2004-10-25

请问如何实现让用户自动下载网页上包含的控件

发表于 2004-10-17 最后回复 2004-10-20

请问如何实现让用户自动下载网页上包含的控件

发表于 2004-10-17 最后回复 2004-10-20

请问各位有关socket关闭的问题。

发表于 2004-10-09 最后回复 2004-10-11

请问如何正确地在ActiveX控件中添加一个自定义的窗体并调用其功能(VC6.0)

发表于 2004-10-06 最后回复 2004-10-07

再求如何在ATL工程中添加对话框的问题(誓把问题搞定)

发表于 2004-10-06 最后回复 2004-10-06

请问CAsyncSocket::Listen函数的问题

发表于 2004-10-04 最后回复 2004-10-04

请问如何在客户已经满了的监听socket中显式拒绝以下的socket新链接请求?

发表于 2004-10-02 最后回复 2004-10-03

请问ORACLE 8i在WINDOWS 2003 SERVER中安装后无法启动服务的问题!

发表于 2004-05-01 最后回复 2004-09-29

求一个对大虾来说简单的问题:如何在使用socket API的时候,让socket的操作变成非阻塞的?

发表于 2004-09-26 最后回复 2004-09-27

请问:如何正确地在DLL中的一个导出的类的声明里加CSocket对象

发表于 2004-09-22 最后回复 2004-09-22

空空如也

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

TA关注的人 TA的粉丝

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