bringwindowtotop和setforegroundwindow的区别

zxcdewq 2004-07-27 10:46:56
使用时效果不一样,有时setforegroundwindow可以把后面的窗体显示到前面,bringwindowtotop不行。
他们区别是什么。
...全文
1146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynujhchen 2004-10-13
  • 打赏
  • 举报
回复
我在后台使用setforegroundwindow把另一个后台窗口激活到前台,

但那个窗口并未被激活,只是在状态栏上一闪一闪的,

查看setforegroundwindow的返回0,表示失败,不知为什么?

请各位指点!!
lianglp 2004-07-27
  • 打赏
  • 举报
回复
setforegroundwindow可以把窗口显示到前台窗口,并对系统的原始输入线程设置连接到此窗口所属的线程,这样所有的对输入的操作就输入到这个窗口中,比如说键盘输入。
bringwindowtotop只适用于对调用bringwindowtotop线程所属的窗口起作用,也就是说
在A线程中调用了bringwindowtotop()函数,如果函数传递的窗口句柄不是属于A线程的,那么会立即返回,不对任何进行操作。而setForeGroundWindow()函数则没有这个约束,但是它有其它的规定,太多了,赖得打下去了。
zxcdewq 2004-07-27
  • 打赏
  • 举报
回复
哦,才疏学浅啊
aspnetwuxueyou 2004-07-27
  • 打赏
  • 举报
回复
老大,窗口是有层次的。
比如一个界面可能有很多控件,一个控件在另一个控件上面。
那怎么来表示他们之间的关系呢,
就发明了一个z坐标,用来表示控件谁在上层,谁在下层。
感觉像是3维立体空间似的
zxcdewq 2004-07-27
  • 打赏
  • 举报
回复
窗口Z坐标是什么意思?
我一直认为这两个函数都是把后面的窗体显示到前面来
aspnetwuxueyou 2004-07-27
  • 打赏
  • 举报
回复
BringWindowToTop设置窗口Z坐标
设置前台窗口SetForegroundWindow
numen27 2004-07-27
  • 打赏
  • 举报
回复
我觉得他们根本就是不一样的功能:
bringwindowtotop就是把窗口现在是最前端,
setforegroundwindow是把窗口设为前台窗口,所谓前台窗口就是用户能够操作的窗口,也就是存在着与之相反的用户操作不到的窗口(后台窗口)
nightfallrove 2004-07-27
  • 打赏
  • 举报
回复
你可以用bringwindowtotop窗口放到最顶层,
象QQ窗口那样,不会被其它窗口挡住
setforegroundwindow最是把窗口调到前台,

楼上说的很很深入,具体可以查MSDN

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧