自己学习MFC总结的一些问题(二)
来源:互联网 发布:java set和get的用法 编辑:程序博客网 时间:2024/06/05 08:05
关于Detach()函数
//动态添加菜单栏
CMenu menu; //注意,此处CMenu的对象是局部的,在函数结束的时候会销毁,所以会导致程序出现一些问题,建议将此声明为类的成员变量。
menu.LoadMenu(IDR_MAINFRAME);
SetMenu(&menu);
menu.Detach(); //如果还是想将CMenu的对象设置成函数的局部变量,可以调用此方法,从而消除程序原先会出现的bug
关于Detch函数,在MSDN中关于CMenu类中有这么一段话:
Create a CMenu object on the stack frame as a local(局部变量), then call CMenu’s member functions to manipulate the new menu as needed. Next, call CWnd::SetMenu to set the menu to a window, followed immediately by a call to the CMenu object’s Detach member function. The CWnd::SetMenu member function sets the window’s menu to the new menu, causes the window to be redrawn to reflect the menu change, and also passes ownership of the menu to the window. The call to Detach detaches(使分开, 使分离) the HMENU from the CMenu object, so that when the local CMenu variable passes out of scope, the CMenu object destructor does not attempt to destroy a menu it no longer owns
关于GetTextExtent()函数和GetTextMetrics()函数
GetTextMetrics:获取当前字体的信息
GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度
CDC::GetTextMetrics
作用:返回当前设备描述表中的当前所用的字体的信息(注意:是字体而不是某个字符如I或w的宽度是不一样的,但是它们的字体宽度有可能是一样的)。
CDC::GetTextExtent
调用这个函数,返回用当前字体写下的一行字符串的高度和宽度(注意:这里指是某个字符如I和w)。
- 自己学习MFC总结的一些问题(二)
- 自己学习MFC总结的一些问题(一)
- 关于sizeof,自己的一些学习总结(学习笔记)
- 自己遇到的一些问题的总结
- 自己总结遇到的一些问题
- iOS 自己总结的一些学习资料
- mybatis自己学习的一些总结
- 自己学习自定义view的一些总结
- 有关自己的一些学习持续性问题
- [转]MFC学习总结(二)
- 总结下关于自己学习IE兼容所遇到的的一些问题
- mxnet深度学习实战:跑自己的数据实验和一些问题总结
- mxnet深度学习实战:跑自己的数据实验和一些问题总结
- mxnet深度学习实战:跑自己的数据实验和一些问题总结
- 学习PHP时的一些总结(二)
- 一些自己javaweb学习总结
- VC++6.0&&VS2008&MFC&API学习问题总结(二)(malloc/new/OnReceive)
- ubuntu安装ftp服务器 (二) 总结我自己的一些办法
- VB 通用对话框 为什么需要 CancelError
- 源码系列:堆排序、优先队列
- HDU2562(字符串逻辑题)
- 祖国的小果abc 新浪网址
- [Intel汇编-MASM]数据定义与分段程序
- 自己学习MFC总结的一些问题(二)
- iOS生成静态文件
- VC之CString,wchar_t,int,string,char*之间的转换
- 高斯消元讲解
- 高级编程<1>
- jQuery 之父:每天写代码
- 现今的三大分词算法介绍
- 数据结构(6)堆排序
- 黑马程序员_java_IO流