随笔分类 -  VC、MFC

articles about VC and MFC.
MFC DLL 中导入ADO库时编译出错的解决方法
摘要:在一个MFCDLL 工程中,导入ADO库时编译出错,提示重定义 #import "c:\program files\common files\system\ado\msado15.dll" no_namespacerename ("EOF", "adoEOF"), rename("BOF","adoBOF")问题: 编译后,出现以下错误:msado15.tlh(169) : err... 阅读全文

posted @ 2008-12-06 22:50 天下无霜 阅读(1787) 评论(0) 推荐(0)

动态添加菜单项、子菜单、右键菜单
摘要:如何动态添加菜单/菜单项、子菜单、右键菜单有关菜单的操作主要用到CMenu类,当然也可用相应API函数,CMenu类只是MFC对API中操作菜单的函数的封装而已。 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服。 若是SDK编程,那就用API吧 。 CMenu menuMain,menu1; //首先 定义CMenu对象一、 创建菜单,有两种方法1. 用LoadMenu函数从资源加载men... 阅读全文

posted @ 2008-09-27 11:00 天下无霜 阅读(8754) 评论(0) 推荐(0)

VC实现将文件放入回收站
摘要:CFile类中的Remove()函数来删除一个文件,但是这样的操作将永久性的删除该文件,不能在必要的时候再恢复该文件,解决这个问题的方法就是把文件送到Windows系统中的回收站里面,而不是简单的永久性删除它,这样用户就可以在必要的时候恢复这个文件。 在Windows的shellapi文件中定义了一个名为SHFileOperation()的外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移... 阅读全文

posted @ 2008-07-11 14:49 天下无霜 阅读(2120) 评论(0) 推荐(0)

[VC]工具栏中嵌入控件;将对话框作为工具条
摘要:在工具栏中嵌入其他控件,如编辑框1,定义一个编辑控件对象,不能是局部变量,否则会被释放掉。在CMainFrame添加类变量CEdit edit;2,调用控件的Create函数,注意控件在工具条的位置。CRect rect; m_wndToolBar.GetItemRect(1,&rect); edit.Create(WS_CHILD|WS_VISIBLE,rect,&m_wndTo... 阅读全文

posted @ 2008-07-10 17:56 天下无霜 阅读(2276) 评论(0) 推荐(0)

重载(overload)、覆盖(override)、隐藏(hide)的区别
摘要: 重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。 隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了。隐藏与另外两个概念表面上看来很像,很难区分,其实他们的关键区别就是在多态的实现上。 下面,我们来看看它们间的区别。 阅读全文

posted @ 2008-06-28 19:47 天下无霜 阅读(23517) 评论(2) 推荐(4)

VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用
摘要:一、在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。 strlen("asd") = 3; strlen(L"asd") = 6;二、_T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式 如果你定义了UNICODE,那么_T宏会把字符串... 阅读全文

posted @ 2008-03-06 12:00 天下无霜 阅读(10498) 评论(5) 推荐(0)