MFC 设置窗口的大小与位置
来源:互联网 发布:蓝牙鼠标推荐 知乎 编辑:程序博客网 时间:2024/05/01 22:17
原文地址
窗口最终是由Windows API 函数::CreateWindowEx创建,::CreateWindowEx需要窗口的信息,其中就有位置和大小,这些信息从哪里来?下面就分析一下:
下面是CFrameWnd中Create函数的声明
BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle = WS_OVERLAPPEDWINDOW,
const RECT& rect = rectDefault,
CWnd* pParentWnd = NULL, // != NULL for popups
LPCTSTR lpszMenuName = NULL,
DWORD dwExStyle = 0,
CCreateContext* pContext = NULL);
从onst RECT& rect = rectDefault,这就是窗口位置和大小参数 它有一个默认值,是Windows定义好的。
我以创建的当文档应用程序Single为例说明 CFrame的Create函数的调用中间无关的函数都删掉了
CSingleApp::InitInstance() ->CWinApp::ProcessShellCommand ->CDocTemplate::CreateNewFrame ->CFrameWnd::LoadFrame ->CFrameWnd::Create ->CWnd::CreateEx ->::CreateWindowEx
这一串函数在调用CFrameWnd::Create是得到了窗口的位置和大小
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.cx=500;
cs.cy=500;//修改默认矩形窗口rect的尺寸大小
cs.x=0;
cs.y=0;//修改默认窗口的位置
return TRUE;
}
- MFC 设置窗口的大小与位置
- MFC中设置窗口大小位置
- MFC中设置窗口大小位置
- MFC窗口大小及位置设置方式
- MFC中设置窗口大小位置
- MFC中设置窗口大小位置
- MFC窗口位置和大小的获取
- 窗口位置、大小设置
- MFC,调整窗口大小限制大小,设置窗口的最大|最小宽度与高度
- mfc向导生成的 默认窗口大小和位置是如何设置的
- mfc 改变窗口位置大小
- MFC窗口最大化&移动窗口位置&获取控件句柄,设置控件大小
- 设置Gvim的启动位置与窗口大小,代码折叠及配色等
- 记录窗口位置与大小
- 设置窗口的客户区大小和位置
- 如何设置一个窗口的大小、位置和其他参数
- 如何设置应用程序窗口的初始大小和位置
- unity里设置窗口大小和位置的代码
- Xcode注释插件vvDocumenter
- 最短路径问题
- solr学习
- OpenStack源码包含的项目
- J2EE的十三个技术——EJB之消息驱动JMS
- MFC 设置窗口的大小与位置
- 队列的实现
- 黑马程序员IOS-OC语言-构造方法
- Android学习(8)音频管理AudioManager-1
- Orcale 性能优化之索引使用
- Java中写记事本组件
- Android exploit with a Qualcomm processor (CVE-2012-4220)
- 去掉cajviewer 7.1.2 右上角的“中国知网数字出版物超市”
- 黑马程序员——Java基础——多线程(一)