
vc
文章平均质量分 75
莫情莫钱
软件开发
展开
-
一个程序员的成长的六个阶段(转帖)
第一阶段此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。第二阶段此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。第三阶段此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。第四阶级此阶段能直原创 2007-07-15 08:55:00 · 380 阅读 · 0 评论 -
处理内存泄漏的一种MFC方法
信息产业部数据所 廖 铮 ---- Windows使用复杂的内存管理器控制和优化内存的使用(包括磁盘缓冲)。一旦内存管理出现纰漏就会导致内存泄漏。内存泄漏的实质一般是因为在堆上分配了某块内存但以后不再对其重新分配,使得该部分内存失去重用性。出现这一问题的多数应用程序一开始往往正常运行,所以要检测出该类问题是较为困难的。不过,要将其找出并得到正确的处理才更麻烦。大多数MFC应用程序允许Windo原创 2007-09-30 16:41:00 · 433 阅读 · 0 评论 -
应用程序系统按钮操作(VC++)
使应用程序位于屏幕中央,占据屏幕90%,如下操作: int xSize = ::GetSystemMetrics(SM_CXSCREEN); int ySize = ::GetSystemMetrics(SM_CYSCREEN); cs.cx = xSize*9/10; cs.cy = ySize*9/10; cs.x = xSize/20; cs.y = ySize/20; //return原创 2007-10-07 00:54:00 · 511 阅读 · 0 评论 -
GetBuffer, ReleaseBuffer, GetBufferSetLength(转)
CString类的这几个函数, 一直在用, 但总感觉理解的不够透彻, 不时还有用错的现象. 今天抽时间和Nico一起分析了一下, 算是拨开了云雾:GetBuffer和ReleaseBuffer是一套需要配合使用的函数, 与GetBufferSetLength相比, 优点是如果分配的空间大于实际保存的字符串(0结尾), ReleaseBuffer会把多余申请的空间释放, 归还给系统; 但使用原创 2008-08-07 08:51:00 · 1611 阅读 · 1 评论 -
2 10 16进制 互相转换
1. 2 进制 -----> 10 进制CString BinToDec(CString strBin) { CString strDec; long nDec = 0, nLen; int i, j, k; nLen = strBin.GetLength(); for (i=0; i { if ( strBin[nLen原创 2008-06-22 22:11:00 · 603 阅读 · 0 评论 -
VC Format函数详解
Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的原创 2008-06-22 22:26:00 · 6013 阅读 · 1 评论 -
CTime 使用总结
1.初始化 m_begintime=CTime(2004,1,1,0,0,0,-1);//参数依次为year,month,day,hour,minite,second m_endtime =CTime::GetCurrentTime();//当前时间2.日期比较 CTimeSpan span;span=time1-time2;得到两时间的间隔.可以取得spa原创 2009-03-10 22:36:00 · 458 阅读 · 0 评论 -
深入浅出VC++串口编程之基于Win32 API
1、API描述 在WIN32 API中,串口使用文件方式进行访问,其操作的API基本上与文件操作的API一致。 打开串口 Win32 中用于打开串口的API 函数为CreateFile,其原型为:HANDLE CreateFile ( LPCTSTR lpFileName, //将要打开的串口逻辑名,如COM1 或COM2 DWORD dwAccess, //指定串口访问的类转载 2009-04-06 21:45:00 · 517 阅读 · 0 评论 -
vc 不同透明程度窗体
VC窗口透明的方法(SetLayeredWindowAttributes)。是一种比较好的办法。本例以对话框窗体为例:1、新建一个基于对话框的工程;2、在OnInitDialog()函数中 // TODO: Add extra initialization here // 添加透明扩展样式 SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE原创 2009-05-14 13:39:00 · 477 阅读 · 0 评论 -
运行后自删除程序
当一个可执行程序exe在执行过程中,程序文件无法删除,这是因为系统将每个正在运行的程序对应的硬盘文件映射到内存,即虚拟内存,要实现自删除,关键一点在程序退出前将程序从内存映射中解放出来,然后再调用文件操作函数删除程序文件!当一个可执行程序exe在执行过程中,程序文件无法删除,这是因为系统将每个正在运行的程序对应的硬盘文件映射到内存,即虚拟内存,要实现自删除,关键一点在程序退出前将程原创 2007-06-08 13:53:00 · 976 阅读 · 3 评论 -
右键菜单的使用
平时经常会看到一些软件把一些常用的功能集成在右键菜单中,这样能够是菜单灵活,易用!以下函数完成了弹出式菜单的创建,只要在右键点击的消息响应中调用就能完成想要的右键菜单的功能!void PopupMenu(){ CPoint point; GetCursorPos( & point ); CMenu menuPopup; menuPopup.CreatePopupMenu()原创 2007-06-08 13:50:00 · 365 阅读 · 0 评论 -
Visual C MFC 一文说尽 转自《计算机世界》
第一部分:MFC导论 Visual C 不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C 来开发出专业级的 Windows 应用程序。为了能充分利用这些特性,你必须理解 C 程序设计语言。掌握了C ,你就必须掌握 Microsoft 基本类库 (MFC)的层次结构。该层次 结构包容了 Windows API 中的用户界面部分,并使你能够很容易地以面向对原创 2007-07-23 23:12:00 · 987 阅读 · 0 评论 -
CFileDialog的详解
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRIT原创 2007-08-12 18:21:00 · 675 阅读 · 0 评论 -
浏览对话框
vc使用目录选择对话框使用目录选择对话框时,如何让其弹出后自动打开指定目录? 是的当用目录选择对话框时,用如下的结构打开。typedef struct _browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags; BFFCALLBACK lp原创 2007-08-12 23:37:00 · 538 阅读 · 0 评论 -
选择文件夹对话框
只要在一个函数中加入如下代码就可以使用,无需加入#include ????;BROWSEINFO bi; char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.原创 2007-08-13 23:11:00 · 376 阅读 · 0 评论 -
检测文件存在的三种方法
1. 强大, 可配合FindNextFile(), FindClose(), 其中后者是必备.WIN32_FIND_DATA m_data;HANDLE hFile; 字串3 hFile=FindFirstFile(filename,&m_data) 字串8 if(hFile==INVALID_HANDLE_VALUE) //file not found 字串1 Make su原创 2007-08-31 09:10:00 · 444 阅读 · 0 评论 -
面向对象设计(OOD)思想(C#)
有了思想才能飞翔,缺乏灵活就象少了轮子的汽车,难以飞奔。为了更好的理解设计思想,结合一个尽可能简洁的实例来说明OOD、设计模式及重构。通过下面的代码,详细地阐述面向对象设计思想。 一、传统过程化设计思想假定我们要设计一个媒体播放器(只从软件设计的角度,不涉及硬件)。该媒体播放器目前只支持音频文件mp3和wav。按照结构化设计思想,设计出来的播放器的代码如下: 面向对象设计(原创 2007-06-08 13:45:00 · 404 阅读 · 0 评论 -
禁止同一应用程序同时运行
有时候为了避免不必要的错误,应防止同一应用程序被打开两个实例以下一个函数可以达到此项目的,挺有用的!BOOL C××App::AlreadyRunning(){ BOOL bFound = FALSE; // Try to create a mutex with the apps name HANDLE hMutexOneInstance = ::CreateMutex(NUL原创 2007-06-08 13:48:00 · 327 阅读 · 0 评论 -
托盘区图标操作
经常能够看到软件运行后在托盘产生图标 ,其实也就是对结构 NOTIFYICONDATA 的设置再调用Shell_NotifyIcon就能完成 NOTIFYICONDATA notifycd; notifycd.cbSize=sizeof(NOTIFYICONDATA); notifycd.hIcon=AfxGetApp()->Load原创 2007-06-08 13:49:00 · 374 阅读 · 0 评论 -
如何使STATIC控件的背景透明以及动态改变控件文本内容时闪烁的问题
一、用VC编写基于对话框的应用程序,用BMP位图作为对话框背景,对话框上的STATIC静态文本框,可以用以下消息函数使文本框的文字背景透明: HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); //原创 2009-05-20 23:36:00 · 1304 阅读 · 0 评论