请问各位如何Show一个窗体但不让它得到Focus?

natrium11 2002-02-07 05:16:07
这个窗体我设成了StayOnTop,不想让它抢走原来焦点窗体的Focus,我应该怎么做?

若把焦点再设回去会引起闪烁!!

谢谢!
...全文
56 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
charge 2002-02-09
  • 打赏
  • 举报
回复
多谢!
natrium11 2002-02-08
  • 打赏
  • 举报
回复
我到Borland Community上问了一下,才知道用ShowWindow(Handle,SW_SHOWNA),今天早上知道的结果,看来充电电池兄来得真准时,呵呵。
natrium11 2002-02-07
  • 打赏
  • 举报
回复
但是我没法在它获得焦点之前阻止它啊,WINDOWS提供的几个消息都不能设返回值的,只是通知而已。

那它已经获得焦点了,我再把焦点移走,所以会有一下闪烁。
charge 2002-02-07
  • 打赏
  • 举报
回复
用windows api 函数ShowWindow,查查sdk帮助看看参数的设置
chenjbjbjb 2002-02-07
  • 打赏
  • 举报
回复
用SetForegroundWindow应该不会闪的
chenjbjbjb 2002-02-07
  • 打赏
  • 举报
回复
激活会闪烁吗?不能吧?
SetForegroundWindow(handle)
xujinmax 2002-02-07
  • 打赏
  • 举报
回复
建一个窗口过程,将WM_ACTIVE这条消息栏下来,它就得不到焦点了
natrium11 2002-02-07
  • 打赏
  • 举报
回复
可是那样会闪烁啊!!!!!!!!

Delphi的Popup Help(就是指出比如说你指向的变量的定义)不就是用一个窗体实现的吗?但是它一点也不会闪烁,而且焦点始终在Editor上,那是怎样实现的?
forgot2000 2002-02-07
  • 打赏
  • 举报
回复
把这个窗体Dock进主窗体就可以了。
wanwangzhiwang 2002-02-07
  • 打赏
  • 举报
回复
首先找到当前窗体名称,然后show你想要的窗体,再将找到的窗体active
erp2 2002-02-07
  • 打赏
  • 举报
回复
显示后在Active别的表单就可以了呀!

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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