📄 subject_59525.htm
字号:
<p>
序号:59525 发表者:robslove 发表日期:2003-11-08 12:21:47
<br>主题:用mfc建立一个窗口后
<br>内容:怎么才能知道这个窗口的HWND<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>回复者:iwill 回复日期:2003-11-08 12:23:43
<br>内容:窗口类内部调用GetSafeHwnd()<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-08 12:24:40
<br>内容:如果是一个dialog那么<BR><BR>CDialog::m_hWnd就是<BR><BR>也可有AfxGetMainWnd()->m_hWnd!<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>
回复者:robslove 回复日期:2003-11-08 12:28:42
<br>内容:谢谢楼上两位<BR>不过分只能给一个人<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>
回复者:robslove 回复日期:2003-11-08 13:07:27
<br>内容:具体该怎么用,<BR>我怎么调不出来?<BR><BR><BR>void CMy111Dlg::OnMouseMove(UINT nFlags, CPoint point) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> CPoint oldPoint;<BR><BR> GetCursorPos(&oldPoint); <BR> ::ScreenToClient(GetSafeHwnd(),oldPoint);<BR><BR> m_x = oldPoint.x;<BR> m_y = oldPoint.y;<BR> UpdateData(FALSE);<BR> CDialog::OnMouseMove(nFlags, point);<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-08 13:41:45
<br>内容:对于成员函数,访问父类的HWND直接用更简单,基类的m_hWnd是一个protected成员。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:robslove 回复日期:2003-11-08 15:51:54
<br>内容:问题越弄越复杂了<BR>CPoint oldPoint;<BR><BR> GetCursorPos(&oldPoint); //得到全屏的坐标<BR><BR> ::ScreenToClient(GetSafeHwnd(),oldPoint);//转换成窗口坐标<BR><BR>现在的问题就两个<BR>1、有人说引用api函数前面必须加 ::<BR> 那么 GetCursorPos 也应该加 ::<BR> 我怎么不加也行?<BR>2、还是当前窗口句柄的问题<BR> 上面的方法我不太清楚怎么实现<BR><BR>error C2664: 'ScreenToClient' : cannot convert parameter 2 from 'class CPoint' to 'struct tagPOINT *'<BR> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called<BR><BR>换句话说就是上面的程序肯定有问题<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>
回复者:robslove 回复日期:2003-11-08 16:08:06
<br>内容:::ScreenToClient(GetSafeHwnd(),oldPoint);<BR>应改为::ScreenToClient(GetSafeHwnd(),&oldPoint);//转换成窗口坐标<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 + -