 |
对话框上的 窗口分割,鼠标可调整
|
|
| |
![工程快照[14,604字节]](/upload/2008/04/1047343491929.jpg)
|
| |
| ...对话框上的 窗口分割,鼠标可调整
|
|
| 作者:heartofdra heartofdra张贴于2007-05-28 20:59:38.0,共阅读2387次,回复3次 |
|
|
 |
白乔原创:基于字符任务的串口通讯开发包CTaskedPort
|
|
| |
![工程快照[76,199字节]](/upload/2004/03/1046577766008.jpg)
|
| |
| 做过串口通讯的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,共阅读7613次,回复16次 |
|
|
 |
一个发货单的打印程序
|
|
| |
![工程快照[11,343字节]](/upload/2004/05/1047343491052.gif)
|
| |
| 为某某杂志社做的发货单的打印程序,功能很简单,主要是读取Access数据库,将发货数据打印在预先打印好的单子上。1. 数据库读取
CSheetRecordset类用于读取access数据库。
2. 打印参数设置
由于用户方mail过来的只是预先打印好的表单的扫描图,偶只好提供“打印参数设置”模块,实际打印时,按照用户指定的比例和位置原点打印信息。
3. CPrintView
CPrintView::OnPrint(CDC* pDC, CPrintInfo* pInfo)用于打印输出,其中使用到DrawText()以完成换行输出功能。老实说,这个程序太简单了。特奉献给大家,希望能有所用!
|
|
| 作者:不祥 bluejoe张贴于2004-05-21 17:57:41.0,共阅读3628次,回复2次 |
|
|
 |
VC保存和显示数据库图像(JPG、JPEG)
|
|
| |
![工程快照[15,903字节]](/upload/2007/01/1047343491332.gif)
|
| |
| 简述关键代码如下:
1、保存图片数据到数据库
以下是代码片段:
//JPG图片保存到数据库
try
{
_RecordsetPtr pRecordset;
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset->Open("SELECT * FROM jpg",_variant_t((IDispatch*)pConnection),adOpenStatic,adLockOptimistic,adCmdText);
pRecordset->AddNew();
pRecordset->Fields->Item["jpgid"]->Value = (_variant_t)m_JPGId;//jpgid
VARIANT pvList;
SetPictureToVariant(pvList,(unsigned char *)m_pJPGBuffer);
pRecordset->Fields->Item["jpgimage"]->AppendChunk(pvList); //JPG图像文件
VariantCl ...
|
|
| 作者:joinclear bluejoe张贴于2007-01-29 17:07:38.0,共阅读8377次,回复14次 |
|
|
 |
模仿机器狗病毒(VC源码)
|
|
| |
![工程快照[503,571字节]](/upload/2008/09/1047343492001.zip)
|
| |
| 作者:Koma
QQ:277460272 Email:koma0769@vip.qq.com
因本人学习VC++仅数月,程序难免有不足之处,希望大家以后共同学习共同进步 !
另外,感谢我一路学习的指导老师:
徐艺波老师 http://www.xuyibo.org
孙鑫老师 http://www.sunxin.org
牛紫郁闷 http://hi.baidu.com/ylemyu
老兵哥提供网络技术支持 http://www.net527.cn
One net , One Dream !
备注:文件里没有含病毒,只是举例下载一个迅雷5.
|
|
| 作者:Koma0769 koma0769张贴于2008-09-11 09:13:46.0,共阅读213次,回复1次 |
|
|
 |
坦克大战
|
|
| |
![工程快照[37,174字节]](/upload/2004/03/1046841610287.jpg)
|
| |
| 开发环境: Windows2000
测试环境: Windows2000
附加说明:
由于开发时间创促,未对分辨率进行分类考虑,所以强烈推荐1024X768下面运行。
(对于winXP操作系统,可以正常运行,但是会发现速度很慢,具体问题有待解决。对于
其他操作系统有可能出现不可预料的问题)
控制键
1P:方向键 w s a d 开火: j
2P:方向键 上 下 左 右 开火: 小键盘0
本游戏内置15种彩蛋,具有一定趣味性,但需要慢慢体会。
由于为了节约空间,所以去掉了背景图,并把一些图片地效果改低,唯一优点就是小
MFC+DirectX技术
CTankApp 主线程控制类(内置键盘监听线程函数)
CBeginDlg 登录对话框
CTankDlg 游戏主对话框
CGame 游戏控制类
CTankMap 地图控制类
CTank 坦克实例控制类
CBullet 子弹实例控制类
CEgg 彩蛋实例控制类
CMidi 音乐控制类
大概流程控制:
键盘监听 CTankMap
| | /CBullet
CTa ...
|
|
| 作者:不祥 xler张贴于2004-03-05 14:39:18.0,共阅读3213次,回复3次 |
|
|
 |
snoopy每日一译-在MFC和ATL工程中加入GIF动画
|
|
| |
![工程快照[41,055字节]](/upload/2004/04/1047343490845.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,共阅读8471次,回复11次 |
|
|
 |
改写MFC写的俄罗斯方块
|
|
| |
| cell类表示方块类型
square类表示游戏区域
还有一个RussiaView类是游戏主要部分
都是用GDI绘图的那个RussiaView是用MFC的AppWizard生成的多文档程序,我现在想把它改成基于对话框程序的形式,请各位多多指教,谢谢
|
|
| 作者:不祥 linvswin张贴于2004-07-08 12:54:44.0,共阅读3484次,回复4次 |
|
|
 |
白乔原创:二进制XML存储方案BinXML
|
|
| |
![工程快照[18,154字节]](/upload/2007/02/1047343491353.gif)
|
| |
| 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,共阅读3192次,回复4次 |
|
|
 |
联网五子棋程序
|
|
| |
![工程快照[14,145字节]](/upload/2007/01/1047343491312.gif)
|
| |
| 支持两人联网的五子棋程序。
代码不错,张贴部分示例一下:)
////////////////////////////////////////////////////////////////////////////
//同时负责己方和对方落子后棋盘的更新,由g_bData判断是上述哪种情况 //
////////////////////////////////////////////////////////////////////////////
void CAppleChessDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if( g_bStart && !m_bFinish)
{
CPoint ptOrigin;
int counter;
if( !g_bData )
{
if( m_bIsBlack != g_bOwnBlack ) return;
if((point.x < 15) || (point.x > 255) || (point.y < 15) || (point.y >255))
{
m_strState = "请在棋盘内落子";
UpdateData(FALSE);
return;
}
...
|
|
| 作者:不祥 bluejoe张贴于2007-01-27 23:13:31.0,共阅读2050次,回复1次 |
|
|
 |
四国源码
|
|
| |
![工程快照[33,135字节]](/upload/2008/04/1047343491921.jpg)
|
| |
| ...这个也是我在源码之家下的,作者里面都有。我能力有限,还没整理出完整的VC++所有文件格式来。如果那位对军旗感兴趣的高手能看懂,能否传给我一份完整VC++文档吗?谢谢!
我的邮箱:haozi2007@gmail.com
qq:309394308
|
|
| 作者:云昊 haozi2006张贴于2008-04-20 00:55:01.0,共阅读930次,回复5次 |
|
|
 |
VC源码-神迹外挂.rar
|
|
| |
![工程快照[28,521字节]](/upload/2007/07/1047343491639.jpg)
|
| |
| 外挂 ...
|
|
| 作者:阿木 lewislau张贴于2007-07-13 13:39:38.0,共阅读1674次,回复1次 |
|
|
 |
白乔原创:不完整的升级游戏
|
|
| |
![工程快照[96,001字节]](/upload/2004/03/1016456633569.jpg)
|
| |
| 该升级游戏只是实现了界面部分,由于一直没有时间,其它地方都没有实现。
源码主要包括游戏主界面、创建游戏对话框、快速桌面切换等部分,希望能对大家有所帮助。
common[159,054字节]
以上所附工程不完整,编译报告缺少头文件。请大家下载common文件包,这是偶的所有文件包。可能其中的目录和工程里面的目录不大一致,但每个文件(注意对应.h的.cpp文件也要加入工程)肯定都能找到。哪位兄弟有空也可以帮忙把路径调整对了,弄个完整的工程传上来。
|
|
| 作者:不祥 bluejoe张贴于2004-03-18 21:08:40.0,共阅读3475次,回复5次 |
|
|
 |
FlashPlayer源代码
|
|
| |
![工程快照[31,262字节]](/upload/2004/03/1016454541580.jpg)
|
| |
| MacroMedia FlashPlayer源代码,包含MP3解码、FLASH文件播放等模块。
|
|
| 作者:不祥 bluejoe张贴于2004-03-18 20:31:47.0,共阅读4586次,回复7次 |
|
|
 |
snoopy每日一译-CWaveFile--一个操作和表示WAV数据的类
|
|
| |
![工程快照[10,263字节]](/upload/2004/04/1047343490891.gif)
|
| |
| 介绍:
我先从简单介绍数字声音和它在计算机中的文档开始。很久很久以前,声音信号,像其他信号一样,用连续波形表示。它们被称作模拟信号。
模拟信号有很多优点,其中一个优点是它和物理变化一一对应。例如:当我们说话,我们的声带发生震动,声波通过空气传播。使用模拟仪器,我们很容易记录和保存声波(例如使用磁带)。但模拟信号也有一个很不好的缺点:抗干扰能力差。
数字信号没有这个缺点,因为数字表示可以有冗余数据。通过冗余数据的信息,即使传输过程中信号发生严重变化,也可以恢复原来的信号。因此数据信号被广泛使用:通讯、领航、医药、声音处理、计算机等。
我知道你更干兴趣的问题是:数字信号在计算机中是怎样存储的?我怎样处理它?我不想深入解释数字信号原理。你,作为一个程序员,必须知道的只有一件事:数字信号是一个数组(你会得到你自己的数组,如果你读完这篇文章的话)。对于声音数字信号,它可以是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,共阅读4554次,回复1次 |
|
|
 |
网页检查器
|
|
| |
![工程快照[10,401字节]](/upload/2007/03/1047343491385.png)
|
| |
| 定时检查网站状态是否正常。
检查方法:指定url,定期连接,查看返回结果中是否含有指定字符串。
如果检查url1失败,然后继续检查url2是否成功,如仍失败,提示是否保存url1返回的页面内容。
可把检查记录保存到文本。
间隔时间以秒为单位,最小10秒。
程序可最小化至Tray。
各位可根据自己需要在这个基础上修改。
|
|
| 作者:Aug Aug2000张贴于2007-03-14 12:06:16.0,共阅读2091次,回复3次 |
|
|
 |
四国军棋游戏
|
|
| |
![工程快照[50,888字节]](/upload/2005/07/1047343491230.gif)
|
| |
| 类似于联众世界中的四国军棋游戏,分为客户端(包括大厅)和服务器端。
可用于局域网内2人或者4人对战,支持复盘功能。
首先要运行服务器端(Server.exe),
然后启动大厅程序(Game.exe),
坐好位置后,就可以进行游戏了。
献给喜欢军旗游戏的朋友。
下载后,直接进行解压到一个目录下就可以了。
其中 abcd.war 为复盘文件,可以使用 JunQi.exe 打开。类似于联众世界中的四国军棋游戏,分为客户端(包括大厅)和服务器端。
可用于局域网内2人或者4人对战,支持复盘功能。
首先要运行服务器端(Server.exe),
然后启动大厅程序(Game.exe),
坐好位置后,就可以进行游戏了。
献给喜欢军旗游戏的朋友。
下载后,直接进行解压到一个目录下就可以了。
其中 abcd.war 为复盘文件,可以使用 JunQi.exe 打开。类似于联众世界中的四国军棋游戏,分为客户端(包括大厅)和服务器端。
可用于局域网内2人或者4人对战,支持复盘功能。
首先要运行服务器端(Server.exe),
然后启动大厅程序(Game.exe),
坐好位置后,就可以进行游戏了。
献给喜欢军旗游戏的朋友。
下载后,直接进行解压到一个目录下就可以了。
其中 abcd.war 为复盘文件,可以使用 JunQi.exe 打开。 ...
|
|
| 作者:不祥 younggle张贴于2005-07-25 22:43:06.0,共阅读6819次,回复5次 |
|
|
 |
给 资源管理器 加上文件夹大小显示[双版本]
|
|
| |
![工程快照[99,145字节]](/upload/2004/06/1047343491130.jpg)
|
| |
| 来自 sanran 的一个部分类,修改了部分实现,修改了原来的计算错误,当作业了...打开资源管理器,在标题兰单机鼠标右键,选择 folder size 即可.初次计算可能会慢,以后就好了.
使用方法,把release.rar 解压,之后得到一个 fs.dll . 随便你放到哪里,之后 开始--运行-- regsvr32 drive:\path\fs.dll , 即可,不想用了就 regsvr32 /u drive:\path\fs.dll
这里包括2个版本,一个是显示 KB,MB,GB单位的,但是不支持资源管理器的排序.另外一个版本是统一以MB为单位,可以在资源管理器里面排序的,大家自己选择使用.
winme or later ...;)见代码,其中类可重用
|
|
| 作者:不祥 Bccv张贴于2004-06-02 12:33:13.0,共阅读5518次,回复9次 |
|
|
 |
类似于WINAMP播放软件的窗口粘接移动的例子
|
|
| |
![工程快照[9,563字节]](/upload/2007/01/1047343491318.gif)
|
| |
| 类似于WINAMP播放软件的窗口粘接移动的例子
功能:实现窗口之间的粘接.
在一个窗口移动到要接近另一个窗口时, 它就会自动贴到另一个窗口.
在已经粘接到主窗口时,主窗口在移动,其他粘接到一起的窗口就一起动.
在粘接到一起的窗口一起动时,同其他没有粘接到一起的窗口也有粘接效应. 就是靠近时,就粘接.
注:粘接分:左右边粘接,上下边粘接,角于角粘接(有兴趣的可以扩充)
代码示例:
void CMainDialog::OnMoving( UINT nSide, LPRECT lpRect )
{
CTest4App *pApp = (CTest4App *)AfxGetApp();
CRect rMovedRect;
CPoint ptCurCursor;
//用来保存旧的连接状态
BOOL bIsLinkedOfMainAndSecond,bOldIsLinkedOfMainAndThird,bOldIsLinkedOfSecondAndThird;
//保存旧的连接状态
bIsLinkedOfMainAndSecond = pApp->m_bIsLinkedOfMainAndSecond;
bOldIsLinkedOfMainAndThird = pApp->m_bIsLinkedOfMainAndThird ...
|
|
| 作者:金军 bluejoe张贴于2007-01-27 23:45:44.0,共阅读2506次,回复7次 |
|
|
 |
速算24点
|
|
| |
![工程快照[6,381字节]](/upload/2008/07/1047343491974.gif)
|
| |
| 刚才看到有人写的速算24点,其实我以前也写了个,(用C#写的)。输出的结果还挺多的,算法方面没多大创新,就是重复计算,里面实现了表达式类,不只能计算+—*/,位运算也行。前提是运算符是二完运算符,增加运算符很简单,只要增加相应函数,再改一点代码就行了。具体各位看看源码就可以了,里面有位运算的实现,但没有使用,大家参照加减乘除来增加位运算。
|
|
| 作者:annidy annidy张贴于2008-07-29 19:05:19.0,共阅读275次,回复0次 |
|
|