自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 深入体会__cdecl与__stdcall

在学习C++的过程中时常碰到WINAPI或者CALLBACK这样的调用约定,每每觉得十分迷惑。究竟这些东西有什么用?不用他们又会不会有问题?经过在网上的一番搜寻以及自己动手后,整理成以下的学习笔记。1.WINAPI与CALLBACK    其实这两者在Windows下是相同的,在windef.h中定义如下:Code#ifdef _MAC#define CALLBACK   

2010-12-28 23:23:00 629

原创 __cdecl __fastcall与 __stdcall

Visual C++ Compiler Options可以指定的Calling Convention有 3种:/Gd /Gr /Gz这三个参数决定了:1.函数参数以何种顺序入栈,右到左还是左到右。2.在函数运行完后,是调用函数还是被调用函数清理入栈的参数。3.在编译时函数名字是如何转换的。  下面我们分别详细介绍:1./Gd这是编译器默认的转换模式,对一般函数使用

2010-12-28 23:08:00 448

原创 CTreeCtrl的HitTest用法

CtreeCtrl的HitTest函数能够得到与当前鼠标位置相关的项。该函数可以实现,在带有checkbox的树中,当选中父节点的checkbox, 子节点的checkbox可自动选中。因为可以得到父节点的HTREEITEM ,根据这个属性可以遍历子节点。void CMyDlg::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult){//

2010-12-27 11:39:00 747

原创 奇思秒想 将CString放在switch中做为判断条件

witch在代码中大家一定经常用到,而在MFC代码里,CString用到的次数应该更经常,但我们都知道,switch的代码里,不是可以用CString变量的,这让我们很头痛,只能选择用if else来做跳转了,使的代码看起来很不舒服,所以花了一上午的时间整了个函数,直接将字符串用到Switch里。呵呵,虽然不是正正的switch,但起码看起来像Switch了,可以有效的提高代码可读性。话说到这里结

2010-12-27 10:22:00 4310 2

原创 用于树控件消息处理的几个结构

众所周知,Windows程序是消息驱动模式,各种消息由Windows操作系统侦测得到,并由用户创建的窗口所取得。这时,操作系统将消息的具体信息包 含在两个典型的消息参数里:LPARAM和WPARAM,它们都是32位无符号整型参数UINT类型。其实,奥妙就在这两个参数当中。它们依据不同的消 息,包含不同的参数格式。比如,当用户在窗口中点击鼠标左键时,就会发送WM_LBUTTIONDOWN消息。想想看

2010-12-23 20:38:00 593

原创 DirectShow在VS2005中PVOID64问题和配置问题

上次开发DirectShow还是2005年1月,整整两年,今天又重操旧业。这次在VS2005上使用DirectShow,首次编译发现出现以下错误:error C2146: syntax error : missing ; before identifier PVOID64看了很多关于这个问题的讨论,解答,无非就是改写winnt.h中的代码:原代码:typedef

2010-12-21 01:01:00 498

原创 VC获得文件所在目录路径的方法

百度上查了很多,都没有好的方法,用GetFolderPath()又不行,最后发现其实用CString只要几行代码就可以解决:    CFileDialog myDlg(TRUE, NULL, NULL, 0, _T("JPEG|*.jpg||"));    if(myDlg.DoModal()!=IDOK)    {        return 1;    }

2010-12-21 00:49:00 935

原创 CMFCPropertySheet的使用及PROPSHEETHEADER结构体介绍

Visual Studio 2008 SP1自带的示例里面,有个工程为PropSheetDemo,此示例介绍了CMFCPropertySheet属性表的使用,截图如下:下面以VS2008SP1为测试环境,学习使用方法:1.新建基于对话框工程;2.新建一个类,基类为CMFCPropertySheet,名称如CMyPropertySheet;3.添加两个对话框资源,双击对话框为其添

2010-12-16 21:32:00 1199

原创 MFC Feature Pack CMFCPropertyGridCtrl控件的应用

  MFC Feature Pack CMFCPropertyGridCtrl控件的应用 收藏  CMFCPropertyGridCtrl m_wndPropList;CMFCPropertyGridProperty* pGroup11; CMFCPropertyGridProperty* pGroup12; CMFCPropertyGridProperty*

2010-12-16 20:39:00 925

原创 Windows Shell 编程 第五章

第五章 浏览文件夹         我在第二章中给出了文件夹的概览和它在Windows Shell中的地位,在这一章中我们打算更详细地讨论它们。我们主要集中精力阐述涉及文件夹所有层面的Shell函数,以及保证所有操作顺利进行的潜在机理。因此,我们需要深入研究两个起着非常重要作用的概念:快捷方式和PIDLs。前者是下一章的题目,在这一章中我们将研究PIDLs,其中包括:         SH

2010-12-11 21:00:00 1025

原创 Windows Shell 编程 第四章

第四章 文件的本质         以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志。然而,Windos95(及后来的WindowsNT4.0)出现使这些概念产生了改变,其中最重要的‘文件’变得更加广泛。现在,文件可以是任何Shell部件对象—不一定必须是文件系统的部件。         文件的精确定义是,任何作为S

2010-12-10 11:02:00 1142

原创 Windows Shell 编程 第三章

第三章 操作文件         我依然清楚地记得,Windows95 的贝塔版出现的情形,它在朋友之间和学院中传播,好酷,全新的文件管理器,一种全图标,全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方面的操作更容易和直观。         作为真正的软件狂人,我们能为一个比萨饼的奖金开始竞赛,一直以求成为第一个能够编程再造如此行为的人—即,怎样以动画方式拷贝文件。花了

2010-12-08 10:25:00 474

原创 Windows Shell 编程 第二章

Windows Shell 编程 第二章 收藏 第二章Shell的结构 “Shell 编程”的大伞之下有大量的API函数和COM接口。这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程。函数和接口并不是两种提供相同功能的等价途径,相反,它们在不同的逻辑层上提供不同的功能。         API函数包含了用户想要在Shell对象上执行的基本操

2010-12-08 00:53:00 560

原创 Windows Shell 编程 第一章

第一章 Windows Shell是什么一个操作系统外壳的不错的定义是它是一个系统提供的用户界面,它允许用户执行公共的任务,如访问文件系统,导出执行程序,改变系统设置等。MS-DOS有一个Command.COM扮演着这个角色。然而Windows已经有了图形界面环境,他的外壳程序也就必然是图形方式的。在Windows95以前,默认的Windows Shell就是程序管理器。        

2010-12-08 00:51:00 352

原创 MFC 9中的新控件Command Link Button及在Vista之前平台上的应用

什么是Command Link?          Command Link在Vista中是样新事物,请看下图:             它实质上有两部分:主文本(Main Text)及注释文本(Note Text),如下图:             一个Command Link,实际上不是一个新的控件类,它只是Button类的一个新样式,

2010-12-07 23:41:00 1144

空空如也

空空如也

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

TA关注的人

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