📄 说明.txt
字号:
//------------------------------------------------------------
// 作者:许文涛
// VC知识库 VCKBASE.COM
//------------------------------------------------------------
本组件实现的COM对象(本程序使用C++,WIN32API别写):
一:COM组件,实现了两个Dispatch接口(组件的创建方法见HTTPSERVER示例工程)
Itest:
文件上传,ASP调用方法如下(获得提交的form各项值的方法请看代码说明):
set rs=server.CreateObject ("aspcom1.test")
rs.StartUpload(Request)
rtnpath=rs.UploadFile(path) '返回上传文件的扩展名
实现了BASE64加解密,发送邮件,以给定分隔字符把字符串转换成数组,钩子安装,设置IIS默认站点的主目录,拷贝文件夹,
删除文件夹,创建多级目录,以给定日期计算星期几,得到内存大小,创建快捷方式,注册COM组件,检测WINDOWS版本,得到磁
盘剩余空间,
得到程序组路径
IOpen:
调用"打开文件"通用对话框,并对其定制,实现了文本文件的预览
调用"打开文件"通用对话框,并对其定制,实现了位图文件的预览
调用"浏览"通用对话框,返回选定的文件夹路径.
使用ADO操作数据库的接口封装,具体信息参考ado.cpp.
使用如下代码就可以从数据库中读取数据.
if(pOpen)
{
if(SUCCEEDED(pOpen->Connect(A2BSTR("DRIVER={SQL SERVER};database=xwt;server=
(local);User ID=sa;PWD=sa"),0)))
{
MessageBox(hWnd,"fd","fd",MB_OK);
//pOpen->Open(A2BSTR("insert into t_lxfs(uid) values('核桃粉')"),1,3,3);
pOpen->Open(A2BSTR("select * from t_lxfs"),1,3,3);
CComBSTR bstr;
pOpen->GetValueString2(T2BSTR(_T("uid")),&bstr);
MessageBox(NULL,W2A(bstr),"提示",MB_ICONINFORMATION);
pOpen->Close();
pOpen->Disconnect();
}
}.
以指定位图文件路径返回位图句柄
在指定窗口显示位图:
if(pOpen)
{
if(SUCCEEDED(pOpen->ShowBmp(g_hWnd,0,220,T2BSTR(_T("c:\\test.bmp")))))
{
}
}
得到ClipBoard的文本
使指定窗口居中
封装WINSOCK的一些操作(见HTTPSERVER示例工程,此工程创建了一个HTTP服务器,能够接受IE的连接请求:http://localhost:8000/,并返回信息,并使其一直处于连接状态
,准备结合ASP做成一个基于WINSOCK的WEB聊天室)
IDirectD3D:
采用聚合方式暴露另一组件中的功能(需要先编译DIRECTXCOM工程,需DIRECTX9SDK支持,如没有DIRECTX9SDK,可以删除聚合功能,并且删除D3D控件的文件大d3d.h,d3d.cpp和aspcom1.dll中的相应部分).
初始化D3D环境,初始化三角形 立方体的顶点缓冲,渲染DIRECTX 场景,实现了三角形 立方体的旋转.
二:一个ACTIVEX控制,部分功能调用ASP组件,实现饼图的绘制,能够在IE中自定义项数及项值和项名,先注册,运行ctrl.htm即
可,项名项值分别以逗号分开.
<OBJECT ID="ctrl" width=600 height=300 CLASSID="CLSID:96B3970B-E847-4C8B-83EE-CF156DDAF9EB" VIEWASTEXT>
<param name="xwt" value="20,30,50,30,34,53,12">
<param name="item_name" value="20sss,30,50,30,34,53,12">
三:一个条形图控件,实现了和饼图控件类似的功能,也能够在IE中自定义项名及项值,运行rectctrl.htm即可
<OBJECT ID="rectctrl" CLASSID="CLSID:86DD953E-E34A-4E07-B124-A799F29C757C" width=600 height=300 >
<param name="xwt" value="20,30,50,30,34,53,12">
<param name="item_name" value="20,30,50,30,34,53,12">
</OBJECT>
四:一个Listview控件,使用WIN32 API实现.
<OBJECT ID="listctrl" width=500 height=180 CLASSID="CLSID:4FF59104-0844-45A1-B5B3-F0E58CEB2F0A">
<param name="title" value="aaa,bb,cc,dd,ee">
<param name="content" value="1/武钢党员管理e
/1/fds/ds,2/b/2/fds/ds,3/许文涛/3/fds/ds,4/武钢自动化公司/13/fds/ds">
<param name="subject" value="报表打印">
<param name="content2" value="a,b,c,d,ddff表ds,fdsfd,fdsgfd,fdsfdsfh,fdsf,fd,dfs,ds,safs">
<param name="colCount" value="4">
</OBJECT>
五:一个子类化WINDOWS树形控件的树控件,能够在IE中自定义树形结构,运行tree.htm即可.
<OBJECT ID="treeactivex" CLASSID="CLSID:8EBF7763-4D32-4C8F-8E40-1A3DAD6820DD" VIEWASTEXT width="163" height="550" codebase=http://xwt/khua.dll>
<param name="title" value="1/资料类别/1,2/权限管理/2,3/注销/3,4/文档资料/1,5/图纸资料/1,6/其他资料文件/1,7/招生信息/5,8/培养目的/6,9/培养过程/6,10/课程介绍/6,11/论文工作/6,12/考前辅导/5,13/MBA 报考/5,14/精美图片/4,15/幽默搞笑/4,16/图片视频/4,17/xwtdd/5,18/vf/4">
<param name="query" value="lbid=0,lbid=2,lbid=3,lbid=11,lbid=12,lbid=13,lbid=12&sublbid=15,lbid=13&sublbid=17,lbid=13&sublbid=18,lbid=13&sublbid=19,lbid=13&sublbid=20,lbid=12&sublbid=21,lbid=12&sublbid=22,lbid=11&sublbid=104,lbid=11&sublbid=106,lbid=11&sublbid=109,lbid=12&sublbid=119,lbid=11&sublbid=122">
<param name="expand" value="true">
</OBJECT>
六:一个使用DIRECTX的控件,显示六个旋转的立方体,运行d3d.htm即可,需要Directx9.
七:一个使用OPENGL的三维饼图控件,运行opengl.htm即可。
<OBJECT ID="OpenGLBox" CLASSID="CLSID:BFC74155-C3AF-42D7-BC5C-DD0CC464325D" width=560 height=370>
<param name="xwt" value="30,30,50,30,40,30,30,50,30,40">
<param name="item_name" value="20,30,50,30">
</OBJECT>
最后更新:2003.07.28
作者:许文涛
EMail:xwtwho@sina.com xwtwho@yeah.net
QQ:295932
编译环境:VS.NET+WinXP+DIRECTX9SDK
代码可以任意COPY,请保留说明
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -