如何制作不会取得焦点的窗体

ffb 2003-08-22 09:28:19
就像翻译软件的翻译框那样不会影响用户的正常使用,不会改变用户的当前焦点
我记得有一个API可以做到,忘记了
...全文
66 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffb 2003-09-30
  • 打赏
  • 举报
回复
这样也会对别的程序造成影响的,你可以试试在你对一个文件夹进行重命名的时候如果失去焦点,则操作会立刻生效,我的程序以在快的速度切换回来也不行,所以最好的方法是根本不要成为当前窗体,而不是说成为当前窗体后再设置别的窗体为当前窗体

唉,还是没有解决,不过CSDN要强制结贴,没有办法
aha99 2003-09-19
  • 打赏
  • 举报
回复
在窗体的每个控件的GetFocus事件中还有窗体的click dbclick 时间等一切可以视窗体的道焦点的事件,把活动窗体设定为设置为前面的活动窗体。呵呵。。。当然还要先把窗体用SetWindowPos设置为最前面的窗体。否则就看不到了。具体怎么办就要看你要实现什么样的效果了。
zlpanzy 2003-09-19
  • 打赏
  • 举报
回复
在属性中设置Tag属性
zlpanzy 2003-09-19
  • 打赏
  • 举报
回复
up
FUNDGIRL 2003-09-19
  • 打赏
  • 举报
回复
以前袁飞给过一句代码.

非常不错.


但整个程序只能有此一个窗体.
多了就不行!
kmzs 2003-09-18
  • 打赏
  • 举报
回复
可以监视自己是不是激活是的话让其它窗口得到焦点。。。
jlum99 2003-09-18
  • 打赏
  • 举报
回复
创建一个就够了啊,不要很多,有一个在响应的时候改变提示内容就可以了。
aha99 2003-09-18
  • 打赏
  • 举报
回复
timer
GetActiveWindow

form_Gotfocus

SetActiveWindow
ffb 2003-09-18
  • 打赏
  • 举报
回复
可是我的窗体上要放几个控件,还有相关的代码,用CreateWindowEx满足不了需要呀
ffb 2003-09-17
  • 打赏
  • 举报
回复
goodname008:
你的方法怎么实现呢?
jlum99 2003-09-17
  • 打赏
  • 举报
回复
用createwindowex函数创建系统支持的tooltip类窗体,就是没有焦点的。
alicezhong2003 2003-09-08
  • 打赏
  • 举报
回复
应该可以,我把方法发给你
goodname008 2003-08-29
  • 打赏
  • 举报
回复
to ffb(我编):
咱们可以换个思路,你不就是要做个类似于金山词霸的翻译框似的东西吗?为什么非要用窗体呢?
你会用物主绘图自画菜单吗?如果会就再好不过了,你可以用菜单代替窗体,整个菜单就是你的画板,你可以在上面写字,也可以画图,全用程序控制,多自由啊!
pigpag 2003-08-29
  • 打赏
  • 举报
回复
我查过,这些窗体没有子窗体,而且有WS_DISABLED。
ffb 2003-08-29
  • 打赏
  • 举报
回复
大家用过输入法吧,比如紫光或者微软拼音,他那个窗口怎么实现的呢,他永远都不会成为当前窗口,也不会获得焦点
pigpag 2003-08-28
  • 打赏
  • 举报
回复
要做成MDI-CHILD结构类型的。如果激活CHILD,MDI也会同时被激活,两者同时获得焦点(视觉上)。如果说永远不能获得焦点,就不可能对其操作。我觉得应该不是一般的窗口,而是一些能够独立漂浮的非焦点控件:Toolbar之类的。如果是一个窗口,里面放控件,那么在窗口没有获得焦点时不能对内部的控件进行操作。
ffb 2003-08-28
  • 打赏
  • 举报
回复
其实只要使自己的窗体不会成为当前窗体就行了
pigpag 2003-08-26
  • 打赏
  • 举报
回复
好像是不可以的。我试过的。

我查过那些“没焦点”的窗口,里面竟然有WS_DISABLED。我加了WS_DISABLED,就动不了了。
道素 2003-08-26
  • 打赏
  • 举报
回复
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long




Private Sub Form_Load()
Call EnableWindow(Form1.hwnd, 0)

End Sub

可不可以啊
pigpag 2003-08-25
  • 打赏
  • 举报
回复
Layered Transparent窗体不能获取鼠标消息,估计也不能获取焦点。

If the layered window has the WS_EX_TRANSPARENT extended window style, the shape of the layered window will be ignored and the mouse events will be passed to the other windows underneath the layered window.
加载更多回复(8)

1,486

社区成员

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

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