ntjm.net
当前位置:首页 >> MFC,无边框的对话框如何实现窗体大小调整 >>

MFC,无边框的对话框如何实现窗体大小调整

这里有个 反 例,参考.二、禁止对话框改变大小.h中:afx_msg UINT OnNcHitTest(CPoint point); .cpp中BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)ON_WM_NCHITTEST() END_MESSAGE_MAP()UINT CXXXDlg::OnNcHitTest(CPoint

提供一种方法供参考,获得窗口矩形区域,判断鼠标位置,如果在窗口的边框附近,如鼠标位置到左边框的距离小于3,则设置光标为左右剪头,如果鼠标左键按下,则用moveWindow重新设置窗口的位置和大小,当然鼠标拖动时,你要计算窗口的大小

在资源编辑界面选中对话框资源,然后拖动边框就可以.

可以在WM_SIZING消息函数里进行判断处理.

点击你要编辑的对话框->属性->外观里的border->选择none

1. 使用SetWindowPos函数CWnd::SetWindowPosBOOL SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy,UINT nFlags ).返回值如果函数成功,则返回非零值;否则返回0.注意:这个窗口不是活动窗口.应用程序不能激

在单文档里面建立个FORM就可以了

最简单的情况:当我们点击最大化按钮的时候,对话框会最大化,但是控件“确定”和“取消”不会跟着变大.如果我们在对话框上面有多少控件,那么会很丑,而且很不实用,最大化本来就是想看的更清楚嘛.我们可以采取下面的措施:对话

如果是对话框窗口,那么最简便的办法就是在资源中将边框和标题栏设置一下就可以了,如下图: 如果是其它的非对话框窗口,通常需要使用代码设置,将窗口属性中的边框去掉,大致代码如下: SetWindowLong(m_hWnd, GWL_STYLE, GetWindowLong(m_hWnd, GWL_STYLE) & ~WS_CAPTION); //去标题栏SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) & ~(WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME)); //去边框

1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小;2、在对话框的OnInitDialog()函数中获取对话框创建时的大小: GetClientRect(&m_rect);3、在WM_SIZE的响应函数OnSize()中加入以下代码: CWnd *

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.ntjm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com