VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 281|回复: 3

[已解决] VC基础班-关于逃跑按钮的实现

[复制链接]
51_avatar_middle
online_vip zxnnnnn 发表于 2018-1-21 19:46:40 | 显示全部楼层 |阅读模式
本帖最后由 zxnnnnn 于 2018-1-22 14:32 编辑

想请教一下,下面的函数,syc是这么写的
SetWindowPos(NULL, randX, randY, 0, 0, SWP_NOZORDER|SWP_NOSIZE);    这里面第一个参数为何设置为NULL,是不是因为按钮的最上层没有其他CWnd对象了,所以设置为NULL。

查了一下中文版的MFC关于这个函数的定义,上面是标识了在Z轴次序上位于这个CWnd对象之前的CWnd对象,不太明白这个之前的CWnd对象是哪个?
CWnd::SetWindowPos

BOOL SetWindowPos(
     const CWnd* pWndInsertAfter,
     int x, int y,
     int cx, int cy,
     UINT nFlags
    );

参数: pWndInsertAfter 标识了在Z轴次序上位于这个CWnd对象之前的CWnd对象。这个参数可以是指向CWnd对象的指针,也可以是指向下列值的指针:
wndBottom 将窗口放在Z轴次序的底部。如果这个CWnd是一个顶层窗口,则窗口将失去它的顶层状态;系统将这个窗口放在其它所有窗口的底部。  
wndTop 将窗口放在Z轴次序的顶部。  
wndTopMost 将窗口放在所有非顶层窗口的上面。这个窗口将保持它的顶层位置,即使它失去了活动状态。  
wndNoTopMost 将窗口重新定位到所有非顶层窗口的顶部(这意味着在所有的顶层窗口之下)。这个标志对那些已经是非顶层窗口的窗口没有作用。

有关这个函数以及这些参数的使用规则参见说明部分。








上一篇:VC驿站基础班第十二课注册全局系统热键
下一篇:VC++基础班 17对话框的菜单操作 作业

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-1-22 10:12:23 | 显示全部楼层
其实我当初的本意是按钮原来的层级是什么就还保持原来的层级关系。另外,这个参数以前设置为NULL也不合适,可以为:&CWnd::wndNoTopMost

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
ico_lz  楼主| zxnnnnn 发表于 2018-1-22 14:32:31 | 显示全部楼层
Syc 发表于 2018-1-22 10:12
其实我当初的本意是按钮原来的层级是什么就还保持原来的层级关系。另外,这个参数以前设置为NULL也不合适, ...

多谢老大指点!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-8-19 10:04

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表