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

目前位置: VCer资源中心 >>> VCer代码
子级分类: C++/MFC基础 Windows界面 网络与通信 图形图象处理 系统通信 数据库 文件系统 硬件/系统调用 组件技术 其它技术
我也来贴上一段经典代码吧!>>>


绘制桌面精灵
 
如此临时创建的区域,由于计算需要很多的时间,所以使得有点闪烁。改进的方法有: 1、利用屏蔽位图进行处理,可以加快时间 2、如果精灵动作不是特别多,图片不是特别大的情况下,直接将所有创建的区域保存下来,不用每次都来创建和删除,这样将快很多,但是也消耗更多的内存。// 关键在于如何创建一个随意形状的窗口 准备一张带有透明色背景(就是背景都是一个颜色,呵呵)的bmp图片 创建与位图兼容的dc。然后创建一个空区域 hr=CreateRectRgn(0,0,0,0); for (i=0;i < 图片宽度-2;i++) { for(j = 0;j< 图片高度-2;j++) { 用dc得到图片i,j处的象素pixel if( pexel !=透明色) { temp=CreateRectRgn(i,j,i+1,j+1); CombineRgn(hr,hr,temp,RGN_OR); DeleteObject(temp); } // 最后用SetWindowRgn函数将窗口形状设置成上面创建的区域的形状 SetWindowRgn(handle,hr,true); DeleteObject(hr); ps:如果有与位图相对应的屏蔽位图,用他们进行光栅 ...
作者:不祥 ISeekYou张贴于2004-05-13 14:55:04.0,共阅读2041次,回复2
全屏显示视图的代码
 
开启全屏显示的代码: void CViewerFrame::FullScreenShow() { GetWindowPlacement(&m_OldWndPlacement); CRect WindowRect; GetWindowRect(&WindowRect); CRect ClientRect; RepositionBars(0,0xffff,AFX_IDW_PANE_FIRST,reposQuery,&ClientRect); ClientToScreen(&ClientRect); int nFullWidth=GetSystemMetrics(SM_CXSCREEN); int nFullHeight=GetSystemMetrics(SM_CYSCREEN); m_FullScreenRect.left=WindowRect.left-ClientRect.left-1; m_FullScreenRect.top=WindowRect.top-ClientRect.top-1; m_FullScreenRect.right=WindowRect.right-ClientRect.right+nFullWidth+2; m_FullScreenRect.bottom=WindowRect.bottom-Clie ...
作者:不祥 bluejoe张贴于2004-04-24 21:26:56.0,共阅读2217次,回复3
第一次使用
 
...第一次来不太会用这个,
作者:小忆 wjshuiyi张贴于2008-04-15 09:47:39.0,共阅读93次,回复0
最大公约数的求法
 
int mcd(int a, int b) { if( a <= 0 || b <= 0 ) return -1; int max,min; max = a > b ? a : b; min = a + b - max; int temp; //辗转相除 while( min ) { temp = min; min = max % min; max = temp; } return max; }
作者:不祥 bluejoe张贴于2004-02-20 23:47:58.0,共阅读3302次,回复6
求 《Visual C++数字图像处理 第二版源码》
 
请问谁有这个源代码能否传给我?hzwen_07@163.com QQ:310984233 非常感谢
作者:林川 hzw1987张贴于2008-03-22 16:34:08.0,共阅读195次,回复0
初学者请教个问题
 
刚学vc++,我新建了一个mfc,取名"冒泡程序",我如何在冒泡程序.cpp中添加 OnLButtonDown()函数呢?我没有使用vc++.net
作者:leryang leryang张贴于2008-03-10 21:30:09.0,共阅读169次,回复3
CListCtrl与CListView相关代码
 
选择项的问题 双击响应函数里的参数有一个是NM_LISTVIEW * msdn查NMLISTVIEW(把中间那个_去掉)能看到这个结构中有一个成员变量是iItem 0表示第一行,1表示第二行;还有一个iSubItem表示列,0表示双击在第一列 CListCtrl大小图标转换 先要添加控制按纽(大图标,小图标,列表,详细) void OnBig() { LONG lStyle; lStyle = GetWindowLong(m_ListCtrl.m_hWnd,GWL_STYLE);//获取当前窗口句并 lStyle&=~ LVS_TYPEMASK;//清除显示方式所在的比特为 lStyle |= LVS_ICON;//设置显示方式 SetWindowLong(m_listCtrl.m_hWnd, GWL_STYLE,lStyle);//设置窗口类型 ...
作者:不祥 jerry张贴于2004-03-10 18:19:36.0,共阅读3692次,回复1
[原创]内存文件读写类CMemoryFile(内存中模拟目录和文件)
 
项目中常常需要将中间结果进行保存, 以供后续步骤进行处理. 如果以临时文件的方式往往容易"暴露"中间机密信息. 同时,文件IO读写也较浪费时间(说到这里,不得不BS一下windows的文件系统,当一个目录下的文件数目超过10000时,读写文件相当慢,Linux却没有这样的问题). 面对上面情况,本人想到了内存机制:      如果中间结果数据不超过2G(32位windows的内存地址上限).可以在内存中模拟一个文件系统.将这些信息以"内存文件"形式保存在"内存",同时也能提供"内存目录"(或"内存Db")支持. 下面是"内存文件类"的使用示例(使用上和一般的文件类没任何区别,只是不在磁盘上生成文件): CMemoryFile pfile; pfile.fopen( "c:/www/1235.bxk", "wb" ); pfile.fprintf( "aaa\nbbb\n" ); pfile.fclose(); CMemoryFile pfile0; pfile0.fopen( "c:/www/1234.bxk", "wb" ); pfile0.fprintf( "aaa\nbbb\n" ); pfile0.fclose(); ...
作者:成长的蚊子 highshow张贴于2008-02-22 14:00:15.0,共阅读304次,回复1
VC6.0中使用ADO操作Access数据库
 
...VC6.0中使用ADO操作Access数据库 ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLE DB Privider,所以ADO不仅可以应用自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序。关于OLE DB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了。让我们直接步入主题,如何掌握ADO这种数据库访问技术ADO的操作方法和前面讲过的DAO的操作在很多方面存在相似之处,在这里,笔者为了更有效的说明它的使用方法,用VC6.0做了一个示例程序(AdoRWAccess),这个示例程序可以直接通过ADO来操作Access数据库,示例程序的运行效果如下图所示:   在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的Access数据库,这也和上两篇文章的示例源码中的库结构相兼容。 。   下面让我们看看ADO数据库访问技术使用的基本步骤及方法:   首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.d ...
作者:Adding qiaoyongbo张贴于2007-12-21 15:44:35.0,共阅读528次,回复3
C++ Primer(第4版)习题解答[2]
 
习题4.1 假设get_size是一个没有参数并返回int值的函数,下列哪些定义是非法的?为什么? unsigned buf_size = 1024 (a) int ia[buf_size]; (b) int ia[get_size()]; (c) int ia[4*7-14]; (d) char st[11] = "fundamental" ; 【解答】 (a)非法,buf_size是一个变量,不能用于定义数组的维数(维长度)。 (b)非法,get_size()是函数调用,不是常量表达式,不能用于定义数组的维数(维长度)。 (d)非法,存放字符串"fundamental"的数组必须有12个元素,st只有11个元素。 习题4.2 下列数组的值是什么? string sa[10]; int ia[10]; int main(){ string sa2[10]; int ia2[10]; } 【解答】 sa和sa2为元素类型为string的数组,自动调用string类的默认构造函数将各元素初始化为空字符串;ia为在函数体外定义的内置数组,各元素初始化为0;ia2为在函数体内定义的内置数组,各元素未初始化,其值不确定。 习题4.3 下列哪些定义是错误的? (a) i ...
作者:白乔 bluejoe张贴于2008-02-19 13:33:40.0,共阅读372次,回复0
C++ Primer(第4版)习题解答
 
习题1.1 查看所用的编译器文档,了解它所用的文件命名规范。编译并运行本节的main程序。 【解答】 一般而言,C++编译器要求待编译的程序保存在文件中。C++程序中一般涉及两类文件:头文件和源文件。大多数系统中,文件的名字由文件名和文件后缀(又称扩展名)组成。文件后缀通常表明文件的类型,如头文件的后缀可以是.h或.hpp等;源文件的后缀可以是.cc或.cpp等,具体的后缀与使用的编译器有关。通常可以通过编译器所提供的联机帮助文档了解其文件命名规范。 习题1.2 修改程序使其返回-1。返回值-1通常作为程序运行失败的指示器。然而,系统不同,如何(甚至是否)报告main函数运行失败也不同。重新编译并再次运行程序,看看你的系统如何处理main函数的运行失败指示器。 【解答】 笔者所使用的Windows操作系统并不报告main函数的运行失败,因此,程序返回-1或返回0在运行效果上没有什么区别。但是,如果在DOS命令提示符方式下运行程序,然后再键入echo %ERRORLEVEL%命令,则系统会显示返回值-1。 习题1.3 编一个程序,在标准输出上打印“Hello, World”。 【解答】 #include<iostream> int main() { std::cout << "Hello, World" << std ...
作者:白乔 bluejoe张贴于2008-02-19 13:31:45.0,共阅读417次,回复0
手机短信PDU编码与解码
 
//将短信转化为待发送编码 //AT+CMGS=021 //0011000D91683176116125F0000801064F60597DFF01 //021 TPDU长度 //PDU:SMSC地址+TPDU //00 服务中心号码(SMSC地址) //11 //00 TP-MR(TP-Message-Reference) //0D91683176116125F0 TP-DA 收信人手机号码 //00 TP-PID(TP-Protocol-Identifier) //08 TP-DCS(TP-Data-Coding-Scheme) //01 TP-VP(TP-Validy-Period) //06 TP-UDL 短信长度 //4F60597DFF01 TP-UD 你好! //服务中心号码、收信人手机号码格式 //0D Address-Length 地址长度 //91 Type-of-Address 地址类型 // Bits 7 // 1 // Bits 6 5 4 // 0 0 0 Unknown1 // 0 0 1 International number2 // 0 1 0 National number3 // 1 1 1 Reserved for extension // Bits 3 2 ...
作者:不祥 bluejoe张贴于2004-04-25 11:15:41.0,共阅读5695次,回复2
【转】设置窗口的透明度
 
... 设置窗口的透明度(win2000以上) ----------------------------------- 第一步 定义功能 typedef BOOL (FAR PASCAL * FUNC1)( HWND hwnd, // handle to the layered window COLORREF crKey, // specifies the color key BYTE bAlpha, // value for the blend function DWORD dwFlags // action ); 第二步 实现代码 在OnInitDialog中加入下列代码(如果在SDI里面,应该是在OnCreat里面添加) ..... HMODULE hModule = GetModuleHandle("user32.dll"); FUNC1 SetLayeredWindowAttributes; SetLayeredWindowAttributes = (FUNC1) GetProcAddress (hModule, _T( "SetLayeredWindowAttributes" ) ); // 设置分层扩展标记 SetWindowLong(GetSafeHwnd(), ...
作者:ohahay ohahay张贴于2007-12-28 19:19:31.0,共阅读340次,回复0
神经元网络实现数字识别
 
/* ============================================================================ 题目:用BP神经网络算法实现数字识别 指导老师:李laoshi 学生:杨 冯 李 日期: 2006-12-30 ******************************************************************************/ #include <stdlib.h> #include <stdio.h> #include <math.h> #include <conio.h> /****************************************************************************** 宏定义 ******************************************************************************/ typedef int BOOL; typedef int ...
作者:蓝天上的我 itcoco05张贴于2007-01-24 21:49:17.0,共阅读2437次,回复4
GDI+路径技术的汉字笔顺求助
 
...我现在在做一个汉字笔顺调整的辅助工具,由于对MFC及GDI+编程不熟悉,想请高手帮忙,具体要求如下: 做一个窗口,上面能输入汉字,点击确定后能按Truetype里的笔顺顺序显示每一个笔画,要求每一个笔画在田字格里面显示,并给每一个笔画按顺序用数组标记。然后还有一个调整笔画的地方,就是可以输入上面定义的数组的标号来真正按笔画顺序输出汉字,当然并不是真正意思上的按笔画输出,是要做出那么个东西来可以调整笔画的顺序,并可以点击保存按钮进行保存,保存的格式不限。
作者:natalie natalie张贴于2007-12-21 16:37:51.0,共阅读267次,回复0
连接ODBC数据源的一段代码
 
CDatabase DB; bool CFreePhoneApp::DatabaseReady() { TCHAR cFilePath[_MAX_PATH]; GetModuleFileName(NULL, cFilePath, _MAX_PATH); m_sModuleFileName = cFilePath; CString sDBFile = m_sModuleFileName; sDBFile.Replace(".exe", ".mdb"); CFileFind Finder; if(!Finder.FindFile(sDBFile)) { ::MessageBox(NULL,"无法找到系统数据库文件!路径如下:\r\n" + sDBFile + "\r\n\r\nFreePhone安装时,将自动创建该文件。建议重新安装。", "致命错误", MB_OK | MB_ICONEXCLAMATION); return false; } CString sDSN; sDSN = "DSN=FreePhone;FileType=Ms Access;DBQ=" + sDBFile + ";MaxScanRows=20"; if(!SQLConfigDataSource(NU ...
作者:不祥 bluejoe张贴于2004-04-23 21:22:28.0,共阅读3631次,回复5
指针参数是如何传递内存的?
 
如果函数的参数是一个指针,不要指望用该指针去申请动态内存。示例7-4-1 中, Test 函数的语句GetMemory(str, 200)并没有使str 获得期望的内存,str 依旧是NULL, 为什么? void GetMemory(char *p, int num) { p = (char *)malloc(sizeof(char) * num); } void Test(void) { char *str = NULL; GetMemory(str, 100); // str 仍然为 NULL strcpy(str, "hello"); // 运行错误 } 示例7-4-1 试图用指针参数申请动态内存 高质量C++/C 编程指南,v 1.0 2001 Page 48 of 101 毛病出在函数GetMemory 中。编译器总是要为函数的每个参数制作临时副本,指针 参数p 的副本是 _p,编译器使 _p = p。如果函数体内的程序修改了_p 的内容,就导致 参数p 的内容作相应的修改。这就是指针可以用作输出参数的原因。在本例中,_p 申请 了新的内存,只是把_p 所指的内存地址改变了,但是p 丝毫未变。所以函数GetMemory 并不能输出任何东西。事实上,每执行一次GetMemory 就会泄露一块内存,因为没有用 free 释放内存。 如果非得要用指针参数去申请内存,那么应该改 ...
作者:wlx weilaixi张贴于2007-07-02 12:54:19.0,共阅读1099次,回复2
求助:八叉树源代码
 
...我想用八叉树对三维散乱点云进行分割然后精简,自己编了很久都没编出来,想问一下,大家谁有源代码啊,可不可以共享一下,谢谢。
作者:阿珂 likezhen821张贴于2007-12-10 23:24:10.0,共阅读338次,回复0
vc2005 中 CString转化int,int 转化CString
 
CString转int方法: CString h; int a=_ttoi(h); int转化CString方法: int a=1263; CString h; h.Format(_T("%d"),a);
作者:junxi junxi张贴于2007-06-21 17:30:14.0,共阅读1485次,回复1
文件类型及相关打开程序的注册
 
譬如:注册文件类型.pln,为其指定文件类型图标,并使用当前程序作为默认打开程序。 调用如下: RegisterShellFileType(".pln", "Plan.Documnet", "规划文件", 1); 其中参数的含义: filterExt:文件后缀名 fileTypeID:文件类型ID fileTypeDesc:文件描述 iconIndex:文件图标在当前程序中的索引BOOL CPlanningApp::RegisterShellFileType(CString filterExt, CString fileTypeID, CString fileTypeDesc, int iconIndex) { CString strPathName, strTemp; TCHAR szLongPathName[_MAX_PATH]; TCHAR szShortPathName[_MAX_PATH]; ::GetModuleFileName(this->m_hInstance, szLongPathName, _MAX_PATH); if (::GetShortPathName(szLongPathName, szShortPathName, _MAX_PATH) == 0) { // rare failure case (es ...
作者:不祥 bluejoe张贴于2007-01-16 13:50:13.0,共阅读1777次,回复1

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