 |
guilib fo vs2005
|
|
| |
![工程快照[738,332字节]](/upload/2007/12/1047343491822.jpg)
|
| |
| ...最新的guilib1.1.5是在vc6下的,上传一个vs2005的版本。
|
|
| 作者:悠悠 lightevil张贴于2007-12-06 14:51:00.0,共阅读717次,回复3次 |
|
|
 |
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,共阅读5412次,回复6次 |
|
|
 |
TLbView
|
|
| |
![工程快照[96,961字节]](/upload/2008/05/1047343491940.jpg)
|
| |
| .....
查看DCOM程序函数
......
|
|
| 作者:aprovy aprovy张贴于2008-05-04 19:22:24.0,共阅读101次,回复0次 |
|
|
 |
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,共阅读7186次,回复9次 |
|
|
 |
一个发货单的打印程序
|
|
| |
![工程快照[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,共阅读2955次,回复1次 |
|
|
 |
改写MFC写的俄罗斯方块
|
|
| |
| cell类表示方块类型
square类表示游戏区域
还有一个RussiaView类是游戏主要部分
都是用GDI绘图的那个RussiaView是用MFC的AppWizard生成的多文档程序,我现在想把它改成基于对话框程序的形式,请各位多多指教,谢谢
|
|
| 作者:不祥 linvswin张贴于2004-07-08 12:54:44.0,共阅读2727次,回复3次 |
|
|
 |
坦克大战
|
|
| |
![工程快照[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,共阅读2474次,回复2次 |
|
|
 |
四国军棋游戏
|
|
| |
![工程快照[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,共阅读5804次,回复4次 |
|
|
 |
四国源码
|
|
| |
![工程快照[33,135字节]](/upload/2008/04/1047343491921.jpg)
|
| |
| ...这个也是我在源码之家下的,作者里面都有。我能力有限,还没整理出完整的VC++所有文件格式来。如果那位对军旗感兴趣的高手能看懂,能否传给我一份完整VC++文档吗?谢谢!
我的邮箱:haozi2007@gmail.com
qq:309394308
|
|
| 作者:云昊 haozi2006张贴于2008-04-20 00:55:01.0,共阅读132次,回复0次 |
|
|
 |
Jerry原创 聊天室程序
|
|
| |
| 简单的聊天室程序
支持多人同时聊天,支持私聊
支持真实IP用户间传送文件服务器端采用完成端口模型完成
客户端采用WSAAynscSelect模型
底层采用xml对传输协议进行了包装
写得不好,多多包含,呵呵!
|
|
| 作者:不祥 jerry张贴于2004-05-11 20:33:22.0,共阅读3451次,回复7次 |
|
|
 |
对话框上的 窗口分割,鼠标可调整
|
|
| |
![工程快照[14,604字节]](/upload/2008/04/1047343491929.jpg)
|
| |
| ...对话框上的 窗口分割,鼠标可调整
|
|
| 作者:heartofdra heartofdra张贴于2007-05-28 20:59:38.0,共阅读1572次,回复2次 |
|
|
 |
构建Delaunay三角网的VC源程序
|
|
| |
![工程快照[12,523字节]](/upload/2007/03/1047343491391.gif)
|
| |
| 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,共阅读3438次,回复8次 |
|
|
 |
实现Outlook样式的列表框
|
|
| |
![工程快照[22,591字节]](/upload/2004/05/1047343490911.gif)
|
| |
| Outlook样式的列表框
|
|
| 作者:不祥 bluejoe张贴于2004-05-01 00:57:23.0,共阅读2753次,回复2次 |
|
|
 |
snoopy每日一译-CDialogSK 一个可以设定皮肤的对话框类
|
|
| |
![工程快照[27,033字节]](/upload/2004/04/1047343490836.jpg)
|
| |
| 该类从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,共阅读3255次,回复4次 |
|
|
 |
画笔小程序,有点问题,望高手指点!
|
|
| |
![工程快照[18,327字节]](/upload/2007/06/1047343491593.jpg)
|
| |
| 为什么只能画一笔就有错误提示啊?万分感谢
|
|
| 作者:ray ray1030张贴于2007-06-03 01:07:47.0,共阅读1209次,回复3次 |
|
|
 |
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,共阅读7213次,回复12次 |
|
|
 |
对话框 上放置 很多的 控件,
|
|
| |
![工程快照[51,218字节]](/upload/2007/05/1047343491491.jpg)
|
| |
| 对话框 上放置 很多的 控件,很好的示例
|
|
| 作者:heartofdra heartofdra张贴于2007-05-28 20:50:50.0,共阅读2298次,回复5次 |
|
|
 |
邮件发送类CSMTPConnection
|
|
| |
| CSMTPMessage testm;
testm.AddMultipleRecipients(_T(" PJ Naughter < pjn@indigo.ie > , My Boss <someboss@company.com> ; Joe <joe@ms.com>"));
//Create the SMTP connection
CSMTPConnection smtp;
//Connect to the server
if (!smtp.Connect(_T("127.0.0.1")))
{
CString sResponse = smtp.GetLastCommandResponse();
TRACE(_T("Failed to connect to SMTP server\n"));
return FALSE;
}
//Create a test message
CSMTPMessage m;
CSMTPAddress From(_T("Some Person"), _T("someone@yourdomain.com")); //Change these values to your settings
m.m_From = From;
CSMTPAddress To(_ ...
|
|
| 作者:不祥 bluejoe张贴于2004-04-30 13:39:03.0,共阅读2120次,回复1次 |
|
|
 |
白乔原创:基于字符任务的串口通讯开发包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,共阅读6544次,回复14次 |
|
|
 |
BBS联赛作品B1001
|
|
| |
![工程快照[35,789字节]](/upload/2004/05/1047343490921.gif)
|
| |
| 本计算器实现了如下两个功能:
1、windows自带计算器的键盘输入加减乘除,目前没有连续运算功能
操作:用户用键盘或者鼠标分别输入‘1’,‘+’,‘2’,按‘=’
文本框显示运算结果‘3’。
2、表达式运算功能,目前只支持整数运算。
操作:选择菜单Option->Expression,在文本框用键盘输入表达式
如‘12/2+(4*5/4)*6’,按计算器上‘=’,文本框显示运算结果
‘12/2+(4*5/4)*6=36’。
3、换肤功能
提供了4种skin,可以自由切换。
操作:菜单Skin->Load Skin,选择skin文件。
|
|
| 作者:不祥 bluejoe张贴于2004-05-05 22:46:44.0,共阅读6580次,回复16次 |
|
|