随笔分类 -  040.C/C++/VC

在Dialog中添加状态栏
摘要:参考:http://www.cppblog.com/besterChen/archive/2009/04/03/78846.aspx 创建字符资源:ID_INDICATOR_1、ID_INDICATOR_2CMyDialog.h中,添加类成员变量 CStatusBar m_wndStatusBar;CMyDialog.cpp中,添加全局变量:staticUINTindicators[]={ID_SEPARATOR,//statuslineindicatorID_INDICATOR_1,ID_INDICATOR_2}; 初始化函数中,添加:CRectrect;this->GetClie.. 阅读全文

posted @ 2013-07-25 16:35 Waaaaaall-E 阅读(667) 评论(0) 推荐(0)

Vc添加快捷键
摘要:内容整理自网络,记录备忘。快捷键的作用范围为当前程序,热键的作用范围为系统。1、添加快捷键// 定义变量HACCEL m_hAccel; // handle to accelerator table// 初始化快捷键m_hAccel = LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR1)); // 在资源中添加快捷键资源if (m_hAccel == NULL) { MessageBox(L"load accelerator fail"); return FALSE;}// . 阅读全文

posted @ 2013-07-25 14:59 Waaaaaall-E 阅读(273) 评论(0) 推荐(0)

在VC中调用COM组件的方法
摘要:整理自网络,仅供参考: http://bbs.csdn.net/topics/50319093调用环境:COM服务器为进程内服务器,DLL名为simpCOM.dll,该组件只有一个接口IFoo,该接口只有一个方法HRESULTSayHello(void)在SDK中调用=====================================方法一:最简单最常用的一种,用#import导入类型库,利用VC提供的智能指针包装类 演示代码:#import"D:\Temp\vc\simpCOM\Debug\simpCOM.dll"no_namespaceCoInitialize(N 阅读全文

posted @ 2013-07-19 22:26 Waaaaaall-E 阅读(446) 评论(0) 推荐(0)

__event/__raise/__hook用法
摘要:MSDN的使用说明: Event Handling in Native C++:http://msdn.microsoft.com/en-US/library/ee2k0a7d(v=vs.80).aspx Event Handling in COM http://msdn.microsoft.com/en-US/library/hdcxwbd5(v=vs.100).aspx以下转自网络,用法说明简洁明了,原文链接:http://blog.csdn.net/dalek/article/details/5502624。#include//classCSource{public:__eventvoi 阅读全文

posted @ 2013-06-29 11:41 Waaaaaall-E 阅读(392) 评论(0) 推荐(0)

正则表达式一例
摘要:在vs2005调试通过,代码摘自网络。#includeintmain(intargc,char*argv[]){////****************************************////正则表达式一例//CAtlRegExpreUrl;//Fivematchgroups:scheme,authority,path,query,fragmentREParseErrorstatus=reUrl.Parse("({[^:/?#]+}:)?(//{[^/?#]*})?{[^?#]*}(?{[^#]*})?(#{.*})?");if(REPARSE_ERROR_ 阅读全文

posted @ 2013-06-25 16:03 Waaaaaall-E 阅读(172) 评论(0) 推荐(0)

打印小结
摘要:vc程序中修改打印对话框默认参数,可参考了以下文章: How to modify the "default" printer for your Microsoft Foundation Classes (MFC) application to be other than theactual system-defined default printer http://support.microsoft.com/kb/193103/en-us使MFC打印效果与预览效果一致,参考了以下链接文章。文章从原理讲到实现,看的明白。MFC打印和打印预览http://blog.scienc 阅读全文

posted @ 2013-06-24 22:07 Waaaaaall-E 阅读(227) 评论(0) 推荐(0)

Dialog上添加ScrollView
摘要:主要步骤如下: 继承CScrollView,生成CMyScrollView。 在CMyScrollView中添加一个变量和一个函数:声明如下:public: void SetTotalSizes(int nWidth, int nHeight);private: CSize m_nScrollSize;实现如下:当然要注意变量的初始化 void CMyScrollView::SetTotalSizes(int nWidth, int nHeight) { m_nScrollSize.cx = nWidth; m_nScrollSize.cy = nHeight; ... 阅读全文

posted @ 2013-06-07 23:40 Waaaaaall-E 阅读(847) 评论(0) 推荐(0)

没有颜色选项 的 字体对话框
摘要:原文:http://blog.csdn.net/joeblackzqq/article/details/7164198,文章条理清晰,尤其代码图片使用恰到好处。主要思路:1、重载CFontDialog类。2、添加OnInitDialog()函数,其中颜色控件的ID号,使用Spy++捕捉。BOOLCMyFontDialong::OnInitDialog(){CFontDialog::OnInitDialog();CWnd*pStatic=GetDlgItem(0x473);//0x473: 静态文本框,"颜色:"CWnd*pComboBox=GetDlgItem(0x443) 阅读全文

posted @ 2013-05-22 19:20 Waaaaaall-E 阅读(157) 评论(0) 推荐(0)

const_cast Operator,dynamic_cast Operator,static_cast Operator,reinterpret_cast Operator
摘要:const_cast Operatorconst_cast < type-id > ( expression )The const_cast operator can be used to remove the const, volatile, and __unaligned attribute(s) from a class.用于取消变量的const、volatile、__unaligned属性。详见msdn:http://msdn.microsoft.com/en-us/library/bz6at95h(v=vs.71).aspx dynamic_cast Operatordy 阅读全文

posted @ 2013-04-25 22:06 Waaaaaall-E 阅读(248) 评论(0) 推荐(0)

子类的拷贝构造函数和赋值操作符
摘要:摘自:http://blog.csdn.net/czx32296429/article/details/6659054 在定义子类的 拷贝构造函数 和 赋值操作符 时,基本的原则是子类一定要调用父类的相应函数,以下定义了父类Base类和子类Derived类来说明两个函数的写法:class Base{public: Base(){} virtual ~Base(){} Ba... 阅读全文

posted @ 2013-04-25 21:19 Waaaaaall-E 阅读(213) 评论(0) 推荐(0)

句柄 <-> ID <-> 指针
摘要:内容整理自网络 “ID”是窗口资源的编号,“句柄”是window对窗口的描述封装的指针,“指针”是对句柄的类封装,个人理解。 句柄 -> 指针: pWnd = CWnd::FromHandle(hWnd); //a temporary CWnd object is created and attached. pWnd->Attach(hWnd); //Attaches a window to a CWnd object 句柄 -> ID ID = GetWindowLong(hWnd, GWL_ID); ID -> 句柄 hWnd = ::GetDlgItem(hP.. 阅读全文

posted @ 2013-04-22 12:24 Waaaaaall-E 阅读(179) 评论(0) 推荐(0)

关于 C++空类时编译器自动生成函数 总结
摘要:内容整理自网络!C++的一个类中,如果没有声明下列函数,编译器会声明它自己的版本。且这些函数都是公有的。具体编译器的做法是:只有你需要用到这些函数并且你又没有显示的声明这些函数的时候,编译器才会贴心的自动声明相应的函数。 这些函数是:一个无参缺省构造函数,一个拷贝构造函数,一个析构函数,一个赋值操作符,一个取址运算符。 无参缺省构造函数、析构函数: do nothing 取地址运算符: 只是返回对象的地址。 拷贝构造函数、赋值操作符: 对类的非静态数据成员进行“以成员为单位的”逐一拷贝。所以,定义一个重载的拷贝构造函数、赋值操作符来实现深度复制。下面是编译器的参考实现: Empty(); .. 阅读全文

posted @ 2013-04-15 22:09 Waaaaaall-E 阅读(271) 评论(0) 推荐(0)

关于 构造函数 与 析构函数 的 调用顺序,摘自网络
摘要:原文链接:http://blog.sina.com.cn/s/blog_4c4d6e740100iq69.html http://blog.csdn.net/starlee/article/details/619827构造函数先看看构造函数的调用顺序规则,只要我们在平时编程的时候遵守这种约定,任何关于构造函数的调用问题都能解决;... 阅读全文

posted @ 2013-04-15 20:45 Waaaaaall-E 阅读(203) 评论(0) 推荐(0)

老调重弹:const char*, char const* and char *const,摘自网络
摘要:摘自:http://www.cnblogs.com/jonnyyu/archive/2005/01/10/89766.htmlconst char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。解释一:事实上这个概念谁都有只是三种声明方式非常相似很容易记混。Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:把一个声明从右向左读。char * const cp; ( * 读成 pointer to )cp is a const pointer to charconst char * p;p is 阅读全文

posted @ 2013-04-14 11:44 Waaaaaall-E 阅读(149) 评论(0) 推荐(0)

sscanf,sscanf_s相关用法, 摘自网络
摘要:原文连接:http://www.cnblogs.com/kex1n/archive/2011/06/09/2076501.html声明:文中代码未经一一编译运行验证。#include<stdio.h>定义函数 int sscanf (const char *str,const char * format,........);函数说明sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 返回0表示失败 否则,表示正确格式 阅读全文

posted @ 2013-04-07 23:02 Waaaaaall-E 阅读(415) 评论(0) 推荐(0)

导航