关于焦点问题...有点复杂...

evjen 2008-09-11 09:54:53
如此问题:
比喻一个人正在网吧玩魔兽,而我是一个广告商。做网吧广告的
在他玩魔兽的时候,我在桌面上弹出一个网页对话框,按一般的情况下
魔兽窗体会失去焦点或者最小化
现在是这样的,弹出框要弹出 但不影响别人玩游戏,当别人把游戏最
小化的时候才会在桌面上看到弹出框 那个弹出框是用VB调用网页控件
做的
我在设计这个弹出框的时候应该怎么设计。。。
WebBrowser1.Navigate ("www.baidu.com")
之后该怎么设置???
...全文
143 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack_wang0823 2008-09-18
  • 打赏
  • 举报
回复
学C了
Tiger_Zhao 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 evjen 的回复:]
Tiger_Zhao ZOrder这是用在mdi窗体中的
没有其什么作用
[/Quote]
谁告诉你的?

你可就新建工程按我的方式做最简单的样例,Form2 是显示在 Form1 的后面的!
youyouting 2008-09-14
  • 打赏
  • 举报
回复
关键技术给你试通了,至于细节就得你自己处理了。
youyouting 2008-09-14
  • 打赏
  • 举报
回复

用Setwindowpos API函数可以达到你要的效果。
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Sub Form_Activate()
SetWindowPos Me.hwnd, 1, 0, 0, 0, 0, 3
End Sub
我刚才测试了,没问题
dingyanwei 2008-09-14
  • 打赏
  • 举报
回复
mark
Tiger_Zhao 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 evjen 的回复:]
Tiger_Zhao 我试了下你的代码
当启动form1的时候并设为全屏,我把时钟控件调为10秒一次 ,10秒后 ,form2会显示在form1上面
我现在想让form2显示在form1下面(给人的感觉就是在form1的背面)
就是焦点还是在form1上面
[/Quote]
Private Sub Timer1_Timer()
Load Form2
ShowWindow Form2.hwnd, SW_SHOWNA
Form2.ZOrder 1 '<-
Form2.WebBrowser1.Navigate "www.baidu.com"
End Sub
evjen 2008-09-12
  • 打赏
  • 举报
回复
Tiger_Zhao ZOrder这是用在mdi窗体中的
没有其什么作用
evjen 2008-09-11
  • 打赏
  • 举报
回复
就做成类似QQ那样 谁会...
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sysdzw 的回复:]
有点难啊,QQ的新闻提示小窗口就是你说的这个效果,跟他们要代码
[/Quote]

QQ的那个小窗口好像没有隐藏吧

每次打CS的时候右下角跳出个新闻。很痛苦

不过那个小窗口貌似是没有获取焦点
无·法 2008-09-11
  • 打赏
  • 举报
回复
有点难啊,QQ的新闻提示小窗口就是你说的这个效果,跟他们要代码
evjen 2008-09-11
  • 打赏
  • 举报
回复
Tiger_Zhao 我试了下你的代码
当启动form1的时候并设为全屏,我把时钟控件调为10秒一次 ,10秒后 ,form2会显示在form1上面
我现在想让form2显示在form1下面(给人的感觉就是在form1的背面)
就是焦点还是在form1上面
tongnaifu 2008-09-11
  • 打赏
  • 举报
回复
mark
evjen 2008-09-11
  • 打赏
  • 举报
回复
请大家关注中...
Tiger_Zhao 2008-09-11
  • 打赏
  • 举报
回复
你的窗体显示时不要直接用 Show 函数,按下面的方式
Private Const SW_SHOWNA As Long = 8
Private Const SW_SHOWNOACTIVATE As Long = 4

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Timer1_Timer()'假定你是用定时器来触发的
Load Form2
ShowWindow Form2.hwnd, SW_SHOWNA '这样就不会争抢焦点
Form2.WebBrowser1.Navigate "www.baidu.com"
End Sub
「已注销」 2008-09-11
  • 打赏
  • 举报
回复
可以试下SetWindowLong SetParent 的结合用
zhufenghappy 2008-09-11
  • 打赏
  • 举报
回复
没用过,顶一下

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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