MFC中错误知识总结(一)
2014-10-09 21:02
218 查看
1、在继承与派生中,单目:表示派生,双目::表示继承,例如
2、获取窗口的指针、句柄以及窗口的指针
3、CString中的Format()函数的用法:
CString str;
int a=3;
str.Format("%d",a); //这里表示的是str=“3”,3以字符串的形式传给str。
4、在运行其他的地方复制MFC程序,在修改VC++目录的“包含目录”和“库目录”的路径时候,如果原来已经默认设置继承的值(下图),只需要将包含目录下的路径给删除掉,然后包含目录和库目录(红色矩形方框中)右端的下拉菜单中选择“从父级或项目默认设置继承”,就OK了。
5、同名全局变量与局部变量的区别:
实例一:
实例二:不处在任何一对{}中的变量,就称之为全局变量,一般我们把这些全局变量定义在文件头。如:
6、wstring与string的区别:wstring是宽char,Unicode编码,一般情况下一个字符占两个字节大小;string是窄char,AscII编码,一个字符占一个字节大小
7、在单文档MFC程序中,如果仅想添加Dialog对话框,那么直接在资源位图中Dialog中点击鼠标右键,选择”插入Dialog“就行,不必选择”添加资源“,在”添加资源“中给出为属性对话框,而采用DoModal是不能显示指定的对话框
8、当VS2010窗口布局打乱后恢复到默认:窗口->重置窗口布局
9、注意printf与sprintf的区别
int printf (const char* szFormat,......); //第一个参数是一个格式字符串,后面是与格式字符串中的代码相对应的不同类型的多个参数
int sprintf(char* szBuffer, const char* szFormat,.....);//第一个参数是一个字符缓冲区;后面是一个格式字符串。sprintf并不是将格式化结果写到标准输出,而是将其存入szBuffer。该函数返回字符串的长度,在字符模式编程环境中,
printf("The sum of %i and %i is %i",5,3,5+3);
的功能等同于以下语句:
char szBuffer[100];
sprintf(szBuffer,"The sum of %i and %i is %i",5,3,5+3);
10、
class A { public: void c(); }; class B: public A {}; //类B继承类A void A:: c() { }; //A派生成员函数c
2、获取窗口的指针、句柄以及窗口的指针
CWnd *pWnd = GetDlgItem(ID_***); // 取得控件的指针 HWND hwnd = pWnd->GetSafeHwnd(); // 取得控件的句柄 CDC* pdc = pwnd->GetWindowDC(); //取得CDC的指针
3、CString中的Format()函数的用法:
CString str;
int a=3;
str.Format("%d",a); //这里表示的是str=“3”,3以字符串的形式传给str。
4、在运行其他的地方复制MFC程序,在修改VC++目录的“包含目录”和“库目录”的路径时候,如果原来已经默认设置继承的值(下图),只需要将包含目录下的路径给删除掉,然后包含目录和库目录(红色矩形方框中)右端的下拉菜单中选择“从父级或项目默认设置继承”,就OK了。
5、同名全局变量与局部变量的区别:
实例一:
void function() { int x=1; //在这个局部函数中,x的值1,它是个局部变量 } main() { int x=0; function() ; //执行完function,main函数中,x的值是0,它也是个局部变量 } //在{}中定义的变量全是局部变量,各函数中的同名变量各不相关。打个比方:就是老张家的小三和老李家的小三同名,但各不相干!
实例二:不处在任何一对{}中的变量,就称之为全局变量,一般我们把这些全局变量定义在文件头。如:
int x=0; void function() { x=1; //在这个局部函数中,x的值1,而且这个x是全局变量x (因为x在这函数内没有定义,所以它是全局变量) } main() { int x=9; //这是个局部变量,全局变量x在这里被隐藏了,你是看不到的。(x在main函数内定义,所以它是局部变量) function() ; //执行完function,main函数中的x的值是9,而全局变量x的值是1 } //全局变量遇到同名的局部变量,全局变量在这个函数中暂时消失!只要出了这个函数就会再现
6、wstring与string的区别:wstring是宽char,Unicode编码,一般情况下一个字符占两个字节大小;string是窄char,AscII编码,一个字符占一个字节大小
7、在单文档MFC程序中,如果仅想添加Dialog对话框,那么直接在资源位图中Dialog中点击鼠标右键,选择”插入Dialog“就行,不必选择”添加资源“,在”添加资源“中给出为属性对话框,而采用DoModal是不能显示指定的对话框
8、当VS2010窗口布局打乱后恢复到默认:窗口->重置窗口布局
9、注意printf与sprintf的区别
int printf (const char* szFormat,......); //第一个参数是一个格式字符串,后面是与格式字符串中的代码相对应的不同类型的多个参数
int sprintf(char* szBuffer, const char* szFormat,.....);//第一个参数是一个字符缓冲区;后面是一个格式字符串。sprintf并不是将格式化结果写到标准输出,而是将其存入szBuffer。该函数返回字符串的长度,在字符模式编程环境中,
printf("The sum of %i and %i is %i",5,3,5+3);
的功能等同于以下语句:
char szBuffer[100];
sprintf(szBuffer,"The sum of %i and %i is %i",5,3,5+3);
10、
相关文章推荐
- MFC基础知识总结
- MFC基础知识总结
- MFC 知识 总结(1)
- Java基础知识总结(我常犯的错误)
- Thinkphp 基础知识总结-配置-错误
- MFC编程中的常犯的错误和心得总结(不断更新中)
- MFC 小知识总结四
- MFC 小知识总结四
- MFC 小知识总结三
- 安装包设计-------卸载(MFC)---------知识总结
- linux基础知识必掌握知识[自己原来上学总结的难免有错误,多谢指点]
- MFC 小知识总结五
- MFC串行化操作错误类型及调试方法总结
- MFC 小知识总结五
- (总结之mfc书最后附录)c++基础知识点-概念
- MFC基础知识总结
- MFC 小知识总结四
- C++/mfc错误总结
- MFC 知识总结(3)
- MFC 小知识总结二