📄 subject_37021.htm
字号:
<p>
序号:37021 发表者:李岩飞 发表日期:2003-04-20 23:10:47
<br>主题:怎样让窗口真正不能移动?
<br>内容:如果在SetWindowPos()中指定为SWP_NOMOVE,并且在对话框资源中修改属性border<BR>为none,窗口就不能移动了,但是现在如果上拉任务栏就会把窗口“顶”上去,怎么防止这种情况?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:neilgan 回复日期:2003-04-20 23:30:19
<br>内容:Catch WM_MOVING and WM_SIZING
<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-04-21 00:42:13
<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-04-21 00:52:37
<br>内容:谢谢于惠的回复,是任务栏,不是状态栏。<BR>谢谢neilgan,"顶"的时候的确有WM_MOVING消息发生,接着该怎么做啊?<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>
回复者:neilgan 回复日期:2003-04-21 01:14:25
<br>内容:Use SetWindowPos to reset the size and position to the original values.
<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-04-21 09:38:01
<br>内容:你怎么做的?我新建了一个对话框,设置border为none后就不能移动了,没有出现你说的情况。
<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-04-21 13:25:42
<br>内容:neilgan,请说详细点好吗,怎么Catch啊,是不是重载OnMove()?
<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-04-21 20:32:22
<br>内容:阻止窗口移动和改变大小的方法:<BR><BR>重载WM_SYSCOMMAND消息处理函数,在其中获取返回的信息,如果是窗口移动或者改变大小,就屏蔽缺省的处理功能,直接返回。<BR>void C×××::OnSysCommand(UINT nID, LPARAM lParam) <BR>{<BR> // TODO: Add your message handler code here and/or call default<BR> UINT nID1=nID&0xFFF0;//去掉系统使用的低四位<BR> if((nID1==SC_SIZE)||(nID1==SC_MOVE)||(nID1==SC_RESTORE))<BR> return;//屏蔽掉改变大小和移动等操作 <BR> CDialog::OnSysCommand(nID, lParam);<BR>}<BR><BR>看你的窗口还能动到哪里去!<BR><BR>一般来说,SetWindowPos()函数只能设置窗口所处的层次,比如要将窗口设置到最高层时特别有效,而用于阻止窗口的移动,似乎没有效果。<BR><BR>2003-4-21 20:36:14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -