如何使得一个dialog在resizing类型下,只对左右缩放,不能上下缩放 如何使得一个dialog在resizing类型下,只对左右缩放,不能上下缩放 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void CTest6Dlg::OnSizing(UINT fwSide, LPRECT pRect){ CDialog::OnSizing(fwSide, pRect); if( fwSide == WMSZ_BOTTOM) .... pRect->bottom = ...; if( fwSide == WMSZ_TOP) .......} 我的方法很简单,简单描述一下:(1)重载CDialog::OnSetCursor(),当鼠标在上边框,下边框和四个角上时,保持鼠标原来的形状,即不变成箭头;(2)重载CDialog::OnNcLButtonDown(),当鼠标在上边框,下边框和四个角上时,不进行任何处理,直接返回,否则调用父类的消息处理函数,这样就行了。// 下面假设CT1Dlg是你的对话框类BOOL CT1Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call default if( nHitTest == HTTOP || nHitTest == HTTOPLEFT || nHitTest == HTTOPRIGHT || nHitTest == HTBOTTOM || nHitTest == HTBOTTOMLEFT || nHitTest == HTBOTTOMRIGHT ) return TRUE ; else return CDialog::OnSetCursor(pWnd, nHitTest, message);}void CT1Dlg::OnNcLButtonDown( UINT nHitTest, CPoint point ){ if( nHitTest == HTTOP || nHitTest == HTTOPLEFT || nHitTest == HTTOPRIGHT || nHitTest == HTBOTTOM || nHitTest == HTBOTTOMLEFT || nHitTest == HTBOTTOMRIGHT ) return ; else CDialog::OnNcLButtonDown( nHitTest, point );} 支持楼上的做法。 lixiaosan(小三)的做法好像无法改变光标会发生变化的的问题,光标移动到边框的时候还是会发生变化。既然都不能改变了,那光标也就别变了。 MFC树视图 怎么设计火车售票系统的数据库? 算法设计 真诚请教客户机和服务器连接问题 帮助 寻求表格的生成方法~,谢谢 Atl com中接口定义文件自定义结构体类型作为参数,出错 vc执行程序时错误?????????? 书籍转让,或交换 这个问题我发了好几次也发不上去为什么? 如何在dialog中引用Doc的指针 请教:为什么我通过 classwizard 添加变量时类型只有 control 可以选择呢?
{
CDialog::OnSizing(fwSide, pRect); if( fwSide == WMSZ_BOTTOM)
....
pRect->bottom = ...;
if( fwSide == WMSZ_TOP)
.......
}
(1)重载CDialog::OnSetCursor(),当鼠标在上边框,下边框和四个角上时,保持鼠标原来的形状,即不变成箭头;
(2)重载CDialog::OnNcLButtonDown(),当鼠标在上边框,下边框和四个角上时,不进行任何处理,直接返回,否则调用父类的消息处理函数,这样就行了。// 下面假设CT1Dlg是你的对话框类BOOL CT1Dlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler code here and/or call default
if( nHitTest == HTTOP ||
nHitTest == HTTOPLEFT ||
nHitTest == HTTOPRIGHT ||
nHitTest == HTBOTTOM ||
nHitTest == HTBOTTOMLEFT ||
nHitTest == HTBOTTOMRIGHT )
return TRUE ;
else
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}void CT1Dlg::OnNcLButtonDown( UINT nHitTest, CPoint point )
{
if( nHitTest == HTTOP ||
nHitTest == HTTOPLEFT ||
nHitTest == HTTOPRIGHT ||
nHitTest == HTBOTTOM ||
nHitTest == HTBOTTOMLEFT ||
nHitTest == HTBOTTOMRIGHT )
return ;
else
CDialog::OnNcLButtonDown( nHitTest, point );
}
lixiaosan(小三)的做法好像无法改变光标会发生变化的的问题,光标移动到边框的时候还是会发生变化。既然都不能改变了,那光标也就别变了。