自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Incremental Learning

H.Halen Won

  • 博客(84)
  • 资源 (5)
  • 收藏
  • 关注

原创 句柄和指针的区别

MSDN上对HANDLE的定义                      typedef PVOID HANDLE这个句柄只是从英文handle翻译过来的,只问句是什么意思难以解释,这个是我从别人的空间收集的信息,以下为直接复制希望对你有帮助。参考的连接为:http://hi.baidu.com/jizj06/blog/item/3055de99ebf2ea0d6f068c0f.h

2013-01-22 18:08:35 579

原创 MFC 最小化托盘的相关处理

程序最小化到托盘一、说明 部分1、所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。2、SDK  API函数 Shell_NotifyIcon  详细参数说明查看MSDNBOOL Shell_NotifyIcon( DWORD d

2013-01-14 11:24:41 669

原创 MFC OnGetMinMaxInfo、WM_MINMAXINFO

OnGetMinMaxInfo:The framework calls this member function whenever Windows needs to know the maximized position or dimensions, or the minimum or maximum tracking size.框架调用该成员函数,只要Windows需要知道最大化的位

2013-01-12 10:36:38 2165

原创 MFC 无标题窗口移动、任务栏右键菜单

windows系统  默认的对话框可以随意移动,没有标题栏的对话框需要重载消息来实现。在使用  WM_NCHITTEST消息时,注意此消息是捕获鼠标的所有移动信息,当还需要增加右键消息处理函数时,消息将会被OnNcHitTest()捕获直接代码,记住使用套路,其中函数的使用、消息的使用,可以查看MSDN,这里不在赘述。UINT CClockTestDlg::OnNcHitTest(

2013-01-09 14:25:16 1689

原创 vc++ 程序只运行一个实例

要使应用程序只允许同时运行一个实例,可以这样做:在XXXApp::InitInstance() 函数里面开头部位添加代码。代码方案1:(直接查找该程序窗口是否已经存在)CWnd *pWndTemp = NULL;pWndTemp=CWnd::FindWindow(NULL,m_sCaption);CWnd *pWndPrev, *pWndChild; if(pWndPr

2013-01-08 16:27:53 1049

原创 vc++ 多线程、多线程同步

一、MFC 多线程分类      MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而

2013-01-08 15:57:02 973

原创 MFC 获取窗口句柄的方法

一----使用Window  API 获取句柄GetNextWindow获取前一个或者后一个窗口的句柄HWND GetNextWindow(          HWND hWnd,    UINT wCmd);GetWindow该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄HWND GetWindow(

2013-01-07 17:13:39 1196

原创 MFC DestroyWindow、OnDestroy、OnClose 程序关闭相关

一、DestroyWindow:The MFC framework manages window destruction as well as creation for those windows associated with framework documents and views. If you create additional windows, you are responsi

2013-01-06 13:35:23 11360 1

原创 MFC WM_ERASEBKGND

在使用过程中大家可能会出现 在类向导中添加消息隐射找不到Ctrl+W  后,在最后一个选项卡Class  Info里的Message  filter的下拉列表选window  后再回到你的消息列表里就有了WM_ERASEBKGND消息也可以手动添加注意:1、OnEraseBkgnd函数中返回TRUE或FALSE有什么区别?      WM_ERASEBKGNDReturn

2013-01-06 09:57:16 1200

原创 MFC 消息中( WPARAM wParam,LPARAM lParam)包含信息

windows的消息具有以下两个参数:  (1)字参数(wParam)  (2)长参数(lParam)  字参数和长参数都是32位整数,用于提供消息的附带消息,是消息传递过程中参数的载体。附加信息的消息号取决于消息号。一、wParam和lParam消息 :部分说明需要查看MSDN例如:WM_SIZEwParam Specifies the type of resizin

2013-01-05 16:02:06 2807 1

原创 MFC PreTranslateMessage

一、PreTranslateMessage  说明CWnd::PreTranslateMessageMSDN:Used by class CWinApp to translate window messages before they are dispatched to the TranslateMessage and DispatchMessage Windows functions

2013-01-05 15:25:03 998

转载 MFC 改变对话框的几个消息函数OnEraseBkgnd、 OnPaint、 OnCtlColor的调用次序

设置对话框色彩及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示时调用OnSize()->OnEraseBkgnd(),->OnPaint()->OnCtlColor(), 1、若想改变对话框大小,比如全屏显示ShowWindow(SW_SHOWMAXIMIZED);UpdateWindow();此中 ShowWind

2013-01-05 13:58:13 1832

转载 MFC 对窗口贴图

要修改窗口的背景-----------双缓存方法(将要绘制的东西,先绘制到内存DC,再将绘制好的内存DC绘制到屏幕上)步骤如下:  1、导入一个位图文件。     2、创建一个View窗体的删除背景时的相应函数  BOOL CWndMapView::OnEraseBkgnd(CDC* pDC)  或者在view类的OnDraw响应函数  void CWndMapView

2013-01-05 13:34:19 796

原创 MFC Windowproc函数

MSDN:The WindowProc function is an application-defined function that processes messages sent to a window. TheWNDPROC type defines a pointer to this callback function.WindowProc is a placeholder for

2013-01-05 11:34:02 3646

原创 MFC OnCommand和OnCmdMsg

1、首先两者都是虚函数CWnd::OnCommand,CCmdTarget::OnCmdMsg2、看源码BOOL CWnd::OnCommand(WPARAM wParam, LPARAM lParam) // return TRUE if command invocation was attempted{ UINT nID = LOWORD(wParam); HW

2013-01-05 11:32:42 2130

原创 MFC CToolTipCtrl使用

在界面处理经常会使用到 CToolTipCtrl类一、CtoolTipCtrl封装了一个工具提示的控件,可弹出一个单行的小窗口来显示一些描述信息,大多时候它是隐藏的,除非用户将光标移到要显示提示的工具上面,并且停留大概半秒的时间它才显示,当单击鼠标或者移走光标的时候这个提示窗口就会消失二、使用方式一:只适用于静态控件、不适用于向树型控件这样的位置不固定的控件(因为树型控件经常被折叠和展开)

2013-01-04 18:18:37 1816

原创 MFC OnCtlColor函数

MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.在界面处理的时候很有用处因此可以重载WM_CTLCOLOR消息的响应函数.【MSDN】此函数的原型:The framework calls this member function when a child control is about to be drawnafx

2012-12-30 15:06:19 3052

原创 MFC 后台执行过程--消息路由

MFC 消息处理顺序MFC中处理消息的顺序----int CWinThread::Run() 中底层系统将消息给 AfxWndProc()1.     AfxWndProc()接收消息,寻找消息所属的CWnd对象,然后调用AfxCallWndProc( )。2.     AfxCallWndProc()存储消息(消息标识符和消息参数)供未来参考,然后调用WindowProc( )。

2012-12-30 14:55:00 695

原创 C++ 继承(四、多重继承)

多重继承概念:C++允许为一个派生类指定多个基类,这样的继承结构被称做多重继承。优缺点:1、多重继承的优点很明显:简单,清晰,更有利于复用。不会因为基类一个小小的改变而大张旗鼓去改代码。2、缺点:1>二义性       两个基类中有同名方法的时候,你不得不在子类的调用中指明此方法出自那个基类。这看起来有些麻烦,幸好在你迷糊的时候,编译器会提醒你。2>钻石继承:在最终子类

2012-12-27 14:13:54 1088 1

原创 C++ 继承(三、子类的拷贝构造和拷贝赋值)

子类的拷贝构造函数和拷贝赋值运算符--------不考虑多重继承基本原则:子类一定要调用基类的相应函数要点:1、缺省拷贝构造和拷贝赋值在复制子类部分之前会先复制其基类部分2、如果自己提供拷贝构造和拷贝赋值,就需要手动地对基类部分进行拷贝构造和拷贝赋值,否则该部分将会以缺省方式被构造或不进行赋值.实例:/*子类的拷贝构造函数和拷贝赋值函数*/#include us

2012-12-27 13:19:52 2537

原创 C++ 继承(二、子类的构造函数和析构函数)

要点详解:一、子类隐式调用基类的构造函数    说明:        如果子类的构造函数没有显式地调用基类的构造函数,那么系统就会调用基类的无参构造函数,       但是前提是基类必须有无参构造函数; 如果基类中没有无参构造函数编译将报错。(提示:没有匹配的函数)     实例:   /*子类的构造*/#include using namespace std;

2012-12-27 11:29:30 1186

原创 Linux 命令 ctags使用详解

1.安装ctags  ()(1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.7.tar.gzhttp://prdownloads.sourceforge.net/ctags/ctags-5.7.tar.gz(2)解压并安装tar zxvf ctags-5.6.tar.gzcd ctags-5.6./configure &&

2012-12-26 10:41:52 2131

原创 MFC 修改文件、文件夹时间属性 (CreateFile GetFileTime SetFileTime)

翻译MSDN:CreateFile Creates or opens a file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, or named pipe. The func

2012-12-25 13:48:22 2851

原创 C++ 继承(一、语法以及三种继承方式的要点)

一、语法   class 子类名: 继承方式1 基类名1,继承方式2 基类名2,...{   //子类定义;   };二、继承的基本要点:  1> 一个子类对象在任何时候都可以作为一个基类类型的对象,而不必使用显式类型转换,前提是两者(子类及其基类)都是通过指针或引用操作;  2>在子类中可以直接使用基类的所有公有和保护成员,就像它们是在子类中声明的那样,但是基类的私有成员

2012-12-25 12:34:42 1309

原创 C++ 操作符重载、友元、类型转换操作符、五种类型转换、函数操作符(一)

=====================================================================算数操作符:+-*/%关系操作符:>逻辑操作符:&& || !位操作符:&、|、~、^下标操作符:[]取地址操作符:&解引用操作符:*插入操作符:提取操作符:>>取内存大小操作符:sizeof()一、操作符与操作符函数

2012-12-24 19:23:51 1158 2

原创 C++ 操作符重载、友元、类型转换操作符、五种类型转换、函数操作符(二)

五、成员和友元当双目操作符的两个操作数不是同一类型时,往往需要把操作符函数定义为调用对象(左操作数)类型的成员,同时也是参数对象(右操作数)类型的友元。C++中提供三种友元关系的实现方式,友元函数、友元成员函数、友元类。先谈谈废话: C++ 程序的设计一切是为了运行效率1、我们已知道类具备封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员

2012-12-24 19:23:12 820

原创 C++ 操作符重载、友元、类型转换操作符、五种类型转换、函数操作符(三)

七、类型转换操作符和自定义类型转换A a;B b (a);B b = a;B b = static_cast (a);1. 可以通过为目标类型提供具有类型转换功能的构造函数完成自定义类型转换,也可以通过为源类型提供类型转换操作符达到同样的目的。2. 通过使用explicit关键字可以强制通过构造函数完成的类型转换必须显式完成。3. 类型转换操作符函数operator

2012-12-24 19:22:18 887

原创 C++ sizeof 在类中的使用

说明:1、空类 总是返回 1     原因:类要创建对象,要预留空间;最小的内存单位为 1;   (类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址)2、类 跟 struct一样 需要考虑对齐和补齐的问题 3、类中含有 static 成员  sizeof不计其大小   原因:因为static成员是分配在全局区为类的所有对象共享4、带virtua

2012-12-24 14:43:52 641

原创 C++ 拷贝构造和拷贝赋值运算符

第一部分:拷贝构造函数类类型的变量需要使用拷贝构造函数来完成整个复制过程拷贝构造函数的形式:     A (const A &a)   // A为类名对于一个类X, 如果一个构造函数的第一个参数是下列之一:a) X&b) const X&c) volatile X&d) const volatile X&且没有其他参数或其他参数都有默认值,那么这个函数是拷贝构造

2012-12-24 11:29:26 1798

原创 C++ 模板使用详解

模板语法一、函数模板通用语法:template返回类型 函数模板名 (形参表) {...}特化语法:template返回类型 函数模板名 (形参表) {...}二、类模板通用语法:template class 类模板名 {...};   声明和实现分开:template class 类模板名 {...};template返回类型 类模板名

2012-12-21 19:24:19 1088

翻译 C++泛型设计 - 模板规格(译)

C++泛型设计 - 模板规格(译)MSDN:C++关键字template可以用来声明一批参数化的类(模板类)或函数(模板函数)。一般使用格式如下:The template declaration specifies a set of parameterized classes or functions.template template-parameter-list > dec

2012-12-20 23:17:19 525

原创 MSSQL 存储过程(一)

一、SQL存储过程的概念,优点及语法  整理在学习程序过程之前,先了解下什么是存储过程?为什么要用存储过程,他有那些优点  定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。  讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊? Micro

2012-12-19 13:04:08 896

原创 linux hash_map使用

使用说明   因为hash_map以前不属于标准库,而是后来引入的。所以在windows下需要使用stlport,然后在setting中加入Additional library path。在linux下使用gcc的时候,引入,使用的时候也说找不到hash_map,而这种后来引入标准库的有两种可能: 1、一种是它被放在了stdext名空间里,那么就要使用using na

2012-12-04 13:30:15 623

原创 linux SIGPIPE相关

linux SIGPIPE相关1、在linux客户端中需要用到 来处理信号 SIGPIPE#ifdef SIGPIPE signal(SIGPIPE,SIG_IGN);#endif  在linux下写socket的程序的时候,如果尝试send到一个disconnected socket上,就会让底层抛出一个SIGPIPE信号。这个信号的缺省处理方法是退出进程,大多数

2012-11-16 13:29:11 610

原创 linux 查找命令(find which whereis grep locate type)

查找命令:find which whereis grep locate type 1. find  find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。  find的使用格式如下:  $ find   - : 所要搜索的目录及其所有子目录。默认为当前目录。  - : 所要搜索的文件的特征。  - : 对搜索结果进行特定的处理。  如果什么

2012-11-16 11:38:28 551

原创 Linux 压缩解压命令详解(tar、zip)

tar命令man tar 格式:  tar [options]  unzip      [-Z]     [-cflptTuvz[abjnoqsCKLMVWX$/:]]     file[.zip]     [file(s) ...]  [-x xfile(s) ...] [-d exdir]说明:-c  【--create   建立新的备份文件】-C  或--d

2012-11-16 11:16:58 1105

原创 MFC 获得各个类的指针、句柄 ID 和 this指针的使用

MFC 无论是多文档还是单文档,都存在指针获取和操作问题。 首先一般获得本类(视,文档,对话框都支持)实例指针 this,用this的目的,主要可以通过类中的函数向其他类或者函数中发指针,以便于在非本类中操作和使用本类中的功能。 这其中的关键在于理解 m_pMainWnd, AfxGetApp(),AfxGetMainWnd() 的意义!一、文档1) 在View中获

2012-11-04 15:42:59 1283

原创 PreCreateWindow、PreSubclassWindow、SubclassWindow 解析

CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别1、函数原型virtual BOOL PreCreateWindow( CREATESTRUCT& cs );virtual void PreSubclassWindow( );BOOL SubclassWindow( HWND hWnd

2012-11-01 16:10:12 856

原创 MFC 解决AnimateWindow使用出现的问题:undeclared identifier

在使用 AnimateWindow  函数实现动画窗口时 出现的问题error C2065: 'AnimateWindow' : undeclared identifiererror C2065: 'AW_HIDE' : undeclared identifiererror C2065: 'AW_BLEND' : undeclared identifier原因:

2012-10-31 16:13:44 1577

转载 VC++/MFC(VC6)开发技术精品学习资料下载汇总

VC++/MFC(VC6)开发技术精品学习资料下载汇总没有整理:找到自己能用的就行了....2012-12-18    :CSDN社区有人提供了很多资料http://bbs.csdn.net/topics/390320308规范教程PDF,101条规则、准则与最佳实践.rarA1式精解(GoF_23种设计解析附C++实现源码).pdfC++ 设计新思维:范型编程与设

2012-10-31 09:24:46 3031 2

VC 对话框相关

VC 对话框相关 VC 对话框相关 操作

2012-09-27

Visio 2007 教程

Visio 2007 教程 希望对需要的人有所帮助

2012-08-07

win32API进程相关函数

win32、API进程相关函数 参考 MSDN

2012-08-07

VC++带音乐功能的俄罗斯方块

开发工具vc6.0 增加了音乐 包含基本的功能暂停,播放,停止等

2012-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除