MFC
n70joey
这个作者很懒,什么都没留下…
展开
-
给CListCtrl添加右键菜单
在使用CListCtrl时要为它添加一个右键菜单,步骤如下: 1、响应CListCtrl的NM_RCLICK消息。 2、添加一个菜单资源,在菜单资源中插入要添加到菜单内容。3、在菜单响应函数OnNMRclickList中添加代码: CMenu menu; POINT pt = {0}; GetCursorPos(&pt);//得到鼠标点击位置 menu.LoadMenu(IDR_MENUI原创 2010-02-09 20:53:00 · 2636 阅读 · 0 评论 -
打开文件对话框与目录选择对话框
打开文件对话框const char pszFilter[] = _T("EXE File (*.txt)|*.txt|All Files (*.*)|*.*||");CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, pszFilter, this);dlg.m_ofn.lpstrInitialDir转载 2010-04-07 11:07:00 · 497 阅读 · 0 评论 -
用CFileFind类实现的目录树遍历
用CFileFind类实现的目录树遍历 作者:崔晓亮 目录树遍历顾名思义就是把目录树中所有的目录及文件依次查找一遍,WINDOWS里的文件查找程序和 SafeClean Utilities(环保卫士)等都用到了目录树遍历。我们当然也可以在自己的程序中加入这一功能。 下面就是该算法的源代码。代码不长,应该很好懂。大家只要在工程中添加一个 Search 类再将代码拷贝 到文件中就可转载 2010-04-07 17:31:00 · 425 阅读 · 0 评论 -
VC6实现XP风格的控件效果(和VC2005一样)
很简单,此方法SDK/MFC通用,简单的讲就是插入一个资源,类别为24,ID为1,以VC6为例,2003和 05类似。在VC6资源编辑试图下点击Insert(插入),然后选择Custom(自定义),在Resource Type(资源类别)填上24,然后将新插入的资源属性改为如下在右边内资源容中输入 name="XP style manifest"转载 2010-04-21 13:49:00 · 607 阅读 · 0 评论 -
MFC中获取命令行参数的几种方法
在MFC程序中,可以用以下几种方法来获取命令行参数。为方便说明,我们假设执行了命令:C:/test/app.exe -1 -2方法一::GetCommandLine();将获取到 "C:/test/app.exe" -1 -2方法二for (int i=0;i__argc;i++){__argv[i];将依次得到C:/test/app.exe -1 -2}方法三AfxGetApp()转载 2010-04-09 17:00:00 · 504 阅读 · 0 评论 -
CListCtrl使用技巧
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查转载 2010-05-02 18:20:00 · 447 阅读 · 0 评论 -
MFC CListCtrl的用法
2009-11-13 01:16CListCtrl的用法先来介绍REPORT类型的CListCtrl:首先使用下面的语句设置CListCtrl的style:DWORD SetExtendedStyle( DWORD dwNewStyle );其中LVS_EX_CHECKBOXES 表示添加CheckBoxLVS_EX_FULLROWSELECT 表示转载 2010-05-02 18:22:00 · 848 阅读 · 0 评论 -
CreateProcess创建的子进程
STARTUPINFO stinfo; ZeroMemory((void*)&stinfo, sizeof(STARTUPINFO)); PROCESS_INFORMATION ProcessInfo; LPSTR sExefile = "F://temp//Debug//winsockC.exe"; stinfo.cb = sizeof(STARTUPI原创 2010-05-18 14:13:00 · 3736 阅读 · 0 评论 -
TCP(SOCKETS)编程 C/C++实现
通信Server:#pragma comment(lib, "ws2_32.lib") #include #include void main() { //版本协商 WORD wVersionRequested; WSADATA wsaData; int err;转载 2010-05-18 10:11:00 · 2603 阅读 · 0 评论 -
使用 C++ 和 MFC 进行多线程编程
Microsoft 基础类库 (MFC) 提供对多线程应用程序的支持。此文章描述什么是进程、什么是线程以及多线程编程的 MFC 方法。“进程”是应用程序的执行实例。例如,双击“记事本”图标时,将启动运行“记事本”的进程。“线程”是进程内的执行路径。启动“记事本”时,操作系统创建进程并开始执行该进程的主线程。此线程终止时,进程也终止。启动代码以函数地址的形式将此主线程提供给操作系统。通常是所转载 2010-04-01 10:46:00 · 2156 阅读 · 1 评论 -
在Win32下,线程中的事件使用
http://274387.blog.51cto.com/264387/60969研究了下win32下线程的使用,在网上找了很多都是用的MFC下的类CEvent,为了方便研究,写了个win32下的,具体代码如下:///////////////////////////////////////////////////////////HANDLE hThread;HANDLE hEvent;DW转载 2010-03-31 11:19:00 · 541 阅读 · 0 评论 -
线程中CreateEvent和SetEvent及WaitForSingleObject的用法
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJECT成为转载 2010-03-31 10:50:00 · 448 阅读 · 0 评论 -
VC中在listctrl中嵌入进度条
//本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oeichenwei/archive/2005/03/17/321967.aspxvoid CMainDialog::DrawText(int nItem, int nSubItem, CDC *pDC, COLORREF crText, COLORREF crBkgnd, CRect &rec原创 2010-02-09 23:20:00 · 2076 阅读 · 0 评论 -
CFile源码
/////////////////////////////////////////////////////////////////////////////// File - raw unbuffered disk file I/Oclass CFile : public CObject{ DECLARE_DYNAMIC(CFile)public:// Flag va原创 2010-03-11 15:45:00 · 2438 阅读 · 2 评论 -
CString的GetBuffer用法
一.函数原型CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength );throw( CMemoryException );Return ValueAn LPTSTR pointer to the object’s (null-terminated) character buffer.ParametersnMin转载 2010-03-12 13:42:00 · 711 阅读 · 0 评论 -
CString::FreeExtra
CString::FreeExtravoid FreeExtra( );RemarksCall this member function to free any extra memory previously allocated by the string but no longer needed. This should reduce the memory overhead cons原创 2010-03-12 14:07:00 · 2382 阅读 · 0 评论 -
深入分析MFC中的CArray类
我们在使用vc进行比较复杂的编程时,经常需要用到复杂的数组结构,并希望能实现动态管理。由于C++并不支持动态数组,MFC提供了一个CArray类来实现动态数组的功能。有效的使用CArray类,可以提高程序的效率。MFC提供了一套模板库,来实现一些比较常见的数据结构如Array,List,Map。CArray即为其中的一个,用来实现动态数组的功能。CArray是从CObject派生,有两个模板参数,原创 2010-03-12 15:00:00 · 527 阅读 · 1 评论 -
CArray 详解
templateclass CArray:public CObject 参数 TYPE 模板参数指定存储在数组中的对象的类型。TYPE是一个由CArray返回的参数。ARG_TYPE 模板参数指定用于访问存储在数组中对象的参数类型。通常是一个对TYPE的参考。ARG_TYPE是一个传递给CArray的参数。 说明 CArray类支持与CArray相似的数组,但是必要时可以动态压缩并扩展。数组索引从原创 2010-03-12 16:48:00 · 458 阅读 · 0 评论 -
CString 操作指南
http://www.vckbase.com/document/viewdoc/?id=1094#CString%20对象的连接 原著:Joseph M. Newcomer翻译:littleloach原文出处:codeproject:CString Management通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了转载 2010-03-19 15:16:00 · 387 阅读 · 0 评论 -
CMap成员变量和成员函数难点详细解释
本文主要是针对CMap中的成员变量: CAssoc** m_pHashTable; UINT m_nHashTableSize; int m_nCount; CAssoc* m_pFreeList; struct CPlex* m_pBlocks; int m_nBlockSize;进行解释,以及如何存放。 还有就是对成员函数: CAssoc* NewAssoc(); v原创 2010-03-23 15:58:00 · 3541 阅读 · 0 评论 -
VC程序最小化到托盘
(一) 原理1、最小化的原理:首先要将窗口隐藏,然后 在右下角绘制图标。2、恢复的原理:将窗口显示,再将托盘中的图片删除。 (二)程序实现1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER + 1986)2、在MFC的::OnSysCommand(UINT nID, LPARAM lParam)函数体中增加一个命令响应转载 2010-05-28 16:23:00 · 900 阅读 · 0 评论