📄 subject_59185.htm
字号:
<p>
序号:59185 发表者:zgt 发表日期:2003-11-06 13:15:07
<br>主题:在单文档中如何用鼠标拖动视图让窗体移动
<br>内容:在CDialog中很好实现<BR>UINT CPolygonDlg::OnNcHitTest(CPoint point) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> UINT nH=CDialog::OnNcHitTest(point);//返回整数值指示鼠标所处位置。HTCLIENT 用户区 ,HTCAPTION 标题栏<BR><BR> return ((nH==HTCLIENT)?HTCAPTION:nH);//如是用户区返回标题栏,其他不管。<BR>}<BR><BR>可是在基于单文档的工程中如果想鼠标在视图中拖动让窗体移动如何实现呢?<BR>把这段代码加入CView 视图移动,框架不动,加入CFrame 则在用户区不触发此事件?????<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:无情阁东雪 回复日期:2003-11-06 17:09:05
<br>内容:void C***View::OnLButtonDown(UINT nFlags,CPoint point)<BR>{<BR> CView::OnLButtonDown(nFlags,point);<BR> GetParentFrame()->PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:无情阁东雪 回复日期:2003-11-06 17:10:29
<br>内容:你所用的方法有两个问题<BR>1,在窗口的客户区域双击时,窗口将极大<BR>2,不适合包含几个视窗的主框架窗口
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:苦头陀+黄蜂 回复日期:2003-11-06 17:11:29
<br>内容:support 2楼<BR>或者<BR>你就对leftmouse.down和up处理,然后移动窗体就是。<BR>效果一样。只是按住的位置不一样。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:视频新手 回复日期:2003-11-06 17:15:53
<br>内容:#include "mainfrm.h"<BR>void CTest33View::OnLButtonDown(UINT nFlags, CPoint point) <BR>{<BR> CMainFrame* pF = (CMainFrame*)(AfxGetApp()->GetMainWnd());<BR> m_ptPrev = point;<BR> SetCapture();<BR>}<BR><BR>void CTest33View::OnLButtonUp(UINT nFlags, CPoint point) <BR>{<BR> CMainFrame* pF = (CMainFrame*)(AfxGetApp()->GetMainWnd());<BR> ReleaseCapture();<BR>}<BR><BR>void CTest33View::OnMouseMove(UINT nFlags, CPoint point) <BR>{<BR> if (GetCapture()==this) { <BR> CMainFrame* pF = (CMainFrame*)(AfxGetApp()->GetMainWnd());<BR> CRect rect;<BR> pF->GetWindowRect(&rect);<BR> CPoint offset = point - m_ptPrev;<BR> rect.OffsetRect(offset);<BR> pF->MoveWindow(&rect, TRUE);<BR> }<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:视频新手 回复日期:2003-11-06 17:18:47
<br>内容:第1楼 的方法真好.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zgt 回复日期:2003-11-08 13:42:55
<br>内容:让我回去试试,<BR>成功了请大家吃饭
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -