VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板
VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板

目前位置: VCer资源中心 >>> VCer开源 >>> 可重用类
我也来开源一个!>>>


蓝风习作: VC中ADO 连接数据库保存显示JPG图象
 
 
void CRMSDlg::OnButton_in() //从库中提取并显示 { // TODO: Add your control notification handler code here try { // "pic" 是字段名,该字段保存着 OLE 对象 long nSize = m_pRecordset->GetFields()->GetItem("pic")->ActualSize; // 获取字段 "pic" 的当前单元的大小(在分配内存空间时要用到) if(nSize > 0) { _variant_t varBLOB; varBLOB = m_pRecordset->GetFields()->GetItem("pic")->GetChunk(nSize);// 读取 OLE 对象 --> varBLOB if(varBLOB.vt == (VT_ARRAY | VT_UI1)) { if(BYTE *pBuffer = new BYTE [nSize+1]) // 申请必 ...
作者:不祥 bluewind张贴于2007-10-14 13:10:18.0,共阅读2082次,回复4
snoopy每日一译-简单超文本静态控件
 
 
简单超文本静态控件 by:Franz Wong 2003.1.14 from:codeGuru 翻译:snoopy我写这个类的时候参考了Zhibin Cao的"CScrollHotStatic!XHyperlink and Scroll CStatic Class"一文。CHyperlinkStatic中有 两个public函数: void SetHyperlink(CString strHyperlink) void SetCaption(CString strCaption) SetHyperlink用来设定连接,而SetCaption用来设定你所看到的文本。 当鼠标在文本上方会变成手状指针。文本下方有下划线。简单就是最好。我也不多说废话了,Enjoy! :-)
作者:不祥 ycr40张贴于2004-04-26 20:37:45.0,共阅读2714次,回复3
hcl原创:CScrollWnd/CTabSheet/CStaticSplitter
 
 
CScrollWnd 这是一个从MFC的源码中扒出来的一个滚动窗口类,功能基本类似于CScrollView, 但是它的基类是CWnd,这样为一些不需要使用Document View结构但又想使用滚动窗口的小程序提供了比较方便的方法,他的接口除了两个坐标转换函数以外与CScrollView基本相同,同时在画的地方采用了内存DC缓冲,避免了闪烁,这下你可以随意的刷新了(当然刷新太多了对效率还是有一些影响的) 因为是工作需要,所以设计了这个类,目前只测试了基本的功能,映射模式为MM_TEXT在屏幕上显示正常,至于打印的支持还没有做。 因为跟CScrollView功能基本相同,所以没有写什么注释,大家可以查MSDN中CScrollView的帮助,如果发现跟CScrollView不一致的地方给我mail吧。 使用方法,跟CScrollView一样,在你的类中继承,实现OnInitialUpdate和OnDraw就成了。 CTabSheet 一个TabCtrl,可以方便的把各种窗口加入到其中,做成属性页的形式,功能很简单,但是很 实用。 CStaticSplitter 静态切分窗口,这个类是从WTL的SplitterWnd里面扒出来的,因为MFC的SplitterWnd实在是太太太难用了,而且很难看,看到WTL里面的这个不错,想拿来用,不过如果是MFC程序的话再加上WTL的 ...
作者:不祥 bluejoe张贴于2004-05-17 18:01:25.0,共阅读4800次,回复4
对话框上的 窗口分割,鼠标可调整
 
 
...对话框上的 窗口分割,鼠标可调整
作者:heartofdra heartofdra张贴于2007-05-28 20:59:38.0,共阅读2794次,回复4
多文件选择文件对话框例子
 
其实很简单了,自己直接用 CFileDialog 也是一样..很多不会用 CFindFile 的也看看这个吧.
作者:不祥 Bccv张贴于2004-04-16 09:43:35.0,共阅读3298次,回复2
guilib fo vs2005
 
 
...最新的guilib1.1.5是在vc6下的,上传一个vs2005的版本。
作者:悠悠 lightevil张贴于2007-12-06 14:51:00.0,共阅读1895次,回复6
构建Delaunay三角网的VC源程序
 
 
void CDelaunayView::OnDelaunay() { // TODO: Add your command handler code here CDelaunayDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if(!pDoc->PointList->GetCount()) { char str[100]; ostrstream osr(str,100); osr<<"请用鼠标左键在窗口里选择要进行三角剖分的顶点"<<'\n' <<" 谢谢合作"<<'\0'; CString output(str); MessageBox(output); return; } PointCls *p1, *p2, *p3; POSITION pos4, pos5; createFirstTri(pDoc->PointList, pDoc->TriList); pos4 = pDoc->TriList->GetHeadPosition(); TriAngle* pTriSeed = (TriAngle*)pDoc->TriList->GetAt(pos4); p ...
作者:cxklgm (Thomas) iter张贴于2007-03-19 13:09:58.0,共阅读4606次,回复9
snoopy每日一译-向窗口发送击键消息的类CKeystrokeEngine
 
 
CKeystrokeEngine最初是为了我的作品Macro Angel(http://www.macroangel.com/)的用户能够发送击键消息到活动或选定的窗口而写。它的功能类似于VB中的SendKey,但它能够进行更复杂的操作。在CWindowEngine的帮助下,除了能够发送击键消息到活动窗口,它还能发送击键消息到指定的窗口。snoopy每日一译-向窗口发送击键消息的类CKeystrokeEngine by:Mustafa Demirhan 2003.7.3 from:codeGuru 翻译:snoopy 简介: CKeystrokeEngine最初是为了我的作品Macro Angel(http://www.macroangel.com/)的用户能够发送击键消息到活动或选定的窗口而写。它的功能类似于VB中的SendKey,但它能够进行更复杂的操作。在CWindowEngine的帮助下,除了能够发送击键消息到活动窗口,它还能发送击键消息到指定的窗口。 一个简单的CKeystrokeEngine语句如: Hello World!<ENTER><REPEAT 10>I love open source<ENTER><END_REPEAT> Mustafa Demirhan 所有的特殊键都使用'<'和'>'包括。例如,仿真 ...
作者:不祥 ycr40张贴于2004-05-11 13:31:05.0,共阅读2749次,回复2
资源管理器
 
 
...树形控件
作者:heartofdra heartofdra张贴于2007-05-28 22:35:03.0,共阅读1736次,回复1
stmeditor
 
 
...
作者:不详 laixj张贴于2008-10-16 17:25:55.0,共阅读196次,回复0
白乔原创:基于字符任务的串口通讯开发包CTaskedPort
 
 
做过串口通讯的VCer肯定都熟悉MsComm控件和CodeProject上的CSerial。也许更多的程序员更愿意使用不需要控件的CSerial。但是不幸的是,CSerial类仅仅完成对底层串口通讯的封装,有时候并不如MsComm控件好用。 CSerialPort为bluejoe在CSerial基础上开发的类,支持开启事件监视线程。CTaskedPort为CSerialPort的派生类,它支持基于任务的事件处理。 用户发送一条命令(如:AT<cr>),可能就需要等待串口的回应(如:OK)才决定做下一步,这个AT命令其实就是一项任务(CPortTask),任务的结束一般需要用户指定关键词(如:OK或者ERROR)。CTaskedPort自动将命令和关键词列表封装成一个任务。本包主要包括以下几个类: CSerialPort:类似于CSerial的类,类声明如下: class CSerialPort { public: void AssertConnected(); CWinThread * GetListener(); CString ReadAll(); CWinThread * EnableListener(BOOL bEnable = TRUE); BOOL SetDCB(DCB * pDCB, int nHandshaking); ...
作者:不祥 bluejoe张贴于2004-03-04 15:11:50.0,共阅读8061次,回复16
snoopy每日一译-在MFC和ATL工程中加入GIF动画
 
 
snoopy每日一译-在MFC和ATL工程中加入GIF动画 by:Oleg Bykov 2001.12.7 from:codeGuru 翻译:snoopy 环境:vc6 win95 win98 nt4 win2000CPictureEx的目的是为了支持JPEG和GIF格式的图片。使用OleLoadPicture函数和IPicture接口不难显示静止的图片,但是处理GIF动画又是另外一种情形了。 在网上翻箱倒柜搜寻一番后,我发现只有一个可用的免费选择:George Tersaakov发表在CodeGuru上的COM组件。不幸的是,在我测试的一些GIF中,发生了错误。当然,我可以购买一个第三方的库,但那样的话,我将为一些我不需要的功能付款。因此,我决定尝试编写我自己的类。基本的出发点是将一个GIF动画分成多个帧,然后用熟悉的OleLoadPicture和IPicture组合显示它们。彻底读完GIF87a和GIF89a规范,我写了这个类。需要注意的是:CPictueEx不仅可以显示GIF(包括GIF动画),还可以显示JPEG、BMP、WMF、ICO、CUR(所有OleLoadPicture能辨别的)。后来,我写了其ATL版的类。怎样使用MFC版的CPictureEx: 1、在你的对话框中加入一个静态文本控件(Static Text)或图片控件(Picture Control ...
作者:不祥 ycr40张贴于2004-04-22 08:45:50.0,共阅读9011次,回复11
白乔原创:二进制XML存储方案BinXML
 
 
BinXML是我个人杜撰出来的名字,不知道是否合适,也不知道是否已存在类似的解决方案。在vcer.net上我将前一段时间的这个BinXML方案贡献出来,希望能够与广大vcer分享。 当时问题的背景是这样的,项目需要确定存储方案,这种方案需要满足如下要求: 生成的单机板exe尽可能的不依赖于其它软件,如:数据库管理系统; 存储的数据最好能够方便的拷贝,以满足项目的上报、汇总的功能; 存储的格式以后可能还会变,变化不频繁,但是最好能支持这种变化; 只需要数据的持久化与反持久化的功能,不需要查询统计等复杂功能; 存储的数据中可能包括一个或者多个的文件附件,如:word文档; 存储的数据可能被不同的平台使用,如:windows或者linux; 作为web项目的一部分,除了提供VC的接口之外,存储的数据格式需要提供java的接口; 我首先考虑到了MsAccess格式,文件型数据库,方便拷贝,而且表的设计很柔性化。在windows环境下,MsAccess似乎可以不需要再安装额外的驱动,但是在linux环境下,如何被java调用是个问题(当然,这个问题也是可以解决的,但是很别扭)。其次,使用RDB还有一个问题:数据的层次表达与多值问题,将树型数据扁平化存储的方案是有的,但是,将几层简单的节点拆分成N个表格,岂不是杀鸡用牛刀? 其次的考虑当然是XML,然而XML是基于 ...
作者:白乔 bluejoe张贴于2007-02-28 12:51:33.0,共阅读3496次,回复4
snoopy每日一译-CWaveFile--一个操作和表示WAV数据的类
 
 
介绍: 我先从简单介绍数字声音和它在计算机中的文档开始。很久很久以前,声音信号,像其他信号一样,用连续波形表示。它们被称作模拟信号。 模拟信号有很多优点,其中一个优点是它和物理变化一一对应。例如:当我们说话,我们的声带发生震动,声波通过空气传播。使用模拟仪器,我们很容易记录和保存声波(例如使用磁带)。但模拟信号也有一个很不好的缺点:抗干扰能力差。 数字信号没有这个缺点,因为数字表示可以有冗余数据。通过冗余数据的信息,即使传输过程中信号发生严重变化,也可以恢复原来的信号。因此数据信号被广泛使用:通讯、领航、医药、声音处理、计算机等。 我知道你更干兴趣的问题是:数字信号在计算机中是怎样存储的?我怎样处理它?我不想深入解释数字信号原理。你,作为一个程序员,必须知道的只有一件事:数字信号是一个数组(你会得到你自己的数组,如果你读完这篇文章的话)。对于声音数字信号,它可以是8位或16位的数字。 现在有大量的声音数字信号存储的标准(AU, VOC, WAVE, AIFF, AIFF-C, and IFF/8VX),但是实际上,微软的WAV文件使用得最广泛。 WAVE文件格式: 所有的WAVE文件符合RIFF规范。因此,WAVE文件满足以下条件: 由独立的数据块(称为chunk)组成,这些数据块组织称树状结构。 每个数据块由一个块头和数据组成。 RIFF文件的第一块 ...
作者:不祥 ycr40张贴于2004-04-28 22:05:32.0,共阅读4899次,回复1
速算24点
 
 
刚才看到有人写的速算24点,其实我以前也写了个,(用C#写的)。输出的结果还挺多的,算法方面没多大创新,就是重复计算,里面实现了表达式类,不只能计算+—*/,位运算也行。前提是运算符是二完运算符,增加运算符很简单,只要增加相应函数,再改一点代码就行了。具体各位看看源码就可以了,里面有位运算的实现,但没有使用,大家参照加减乘除来增加位运算。
作者:annidy annidy张贴于2008-07-29 19:05:19.0,共阅读446次,回复0
对话框 上放置 很多的 控件,
 
 
对话框 上放置 很多的 控件,很好的示例
作者:heartofdra heartofdra张贴于2007-05-28 20:50:50.0,共阅读3404次,回复7
snoopy每日一译-CDialogSK 一个可以设定皮肤的对话框类
 
 
该类从CDialog继承。它支持以下特性: 1、如果在windows2000或windowsxp下运行,你可以选定任何色彩作为透明色。 2、如果在windows2000或windowsxp下运行,整个对话框可以半透明(translucent)。 3、可以加入一个Bitmap作为背景。Bitmap可以是资源,也可以是外部文件或一个位图的句柄。 4、可以设置对话框的风格:标题、居中、伸展;调整对话框的大小为位图的大小。 5、可以按对话框的任何位置移动它,也可以禁止移动。1、在你的工程中加入CDialogSK.h和CDialogSK.cpp 2、将你的对话框类的头文件(.h)和源文件(.cpp)中所有"CDialog"替换为"CDialogSK" 3、在你的对话框类的头文件(.h)中加入#include "CDialogSK.h" 译者注:原文2和3点的顺序相反,但自动替换时会出问题。 4、如果你计划使用位图作为背景,请将对话框的Properties(属性)-Styles(风格)设定为 style=popup,border=none,并将Title Bar的检查框置为不选中。 5、在OnInitDialog的最后加入一些代码如下例子: BOOL CSkinDialog_DemoDlg::OnInitDialog() { ... EnableE ...
作者:不祥 ycr40张贴于2004-04-21 14:16:14.0,共阅读4299次,回复5
CListCtrlTest
 
 
...这个主要是对CListCtrl的从新封装,主要是能够对每个栏中加入图片和文字,另外图片在拦中出现的位置根据配置文件去决定,这个是我对自己封装的类的测试,直接用的是原代码进行的,可执行程序中几个button中都是对外的接口
作者:在路上 hurry281张贴于2008-05-16 12:05:22.0,共阅读792次,回复1
snoopy每日一译-操作EXCEL和符号分隔文本的类CSpreadSheet
 
有些时候我们希望将输出的数据存到EXCEL文件或一些符号分隔文本文件(像逗号分隔、Tab符分隔)。CSpreadSheet类封装了对这些文件的读写操作。CSpreadSheet类的目标是简单易用,其主要的特性如下: 1、构造一个新的EXCEL文件或符号分隔文本文件,并在其中写如行或单个的单元。 2、读取行、列或单个单元。 3、覆盖、插入或追加行。 4、将已存在或新的EXCEL文件转化成符号分隔文本文件;反之亦然。 操作EXCEL和符号分隔文本的类CSpreadSheet by:Yap Chun Wei 2002.2.19 from:codeGuru 翻译:snoopy 环境:vc++,NT4,win2000,winxp,win95/98 介绍: 有些时候我们希望将输出的数据存到EXCEL文件或一些符号分隔文本文件(像逗号分隔、Tab符分隔)。CSpreadSheet类封装了对这些文件的读写操作。CSpreadSheet类的目标是简单易用,其主要的特性如下: 1、构造一个新的EXCEL文件或符号分隔文本文件,并在其中写如行或单个的单元。 2、读取行、列或单个单元。 3、覆盖、插入或追加行。 4、将已存在或新的EXCEL文件转化成符号分隔文本文件;反之亦然。 在阐述本类的个类函数之前,我们先看看本类的一些限制条件: 1、需要 ...
作者:Yap Chun Wei ycr40张贴于2004-04-25 09:19:43.0,共阅读6676次,回复6
实现Outlook样式的列表框
 
 
Outlook样式的列表框
作者:不祥 bluejoe张贴于2004-05-01 00:57:23.0,共阅读3672次,回复2

页次: 1/5页 记录总数81 9 7 [ 1 2 3 4 5 6 7 8 9 10 ] 8 :