社区
控件与界面
帖子详情
PB 如何禁止popup 窗口获得焦点
sonata_001
2011-10-06 08:06:49
我常常使用popup窗口来显示一些信息,但是一个恼人的问题是,由于PB对任何类型的窗口,创建后使其获得焦点,这样一来,主窗口就被剥夺了焦点。即便我编程使主窗口强制获得焦点,但是这个过程,在视觉上表现出一个窗口间的焦点切换,显得很不友好。
要解决这个问题,似乎只能通过重载 窗口 的 create 事件。但是PB 的事件列表中找不到(自定义中)。我想这个问题应该是个普遍的问题。请教大家了!
...全文
492
12
打赏
收藏
PB 如何禁止popup 窗口获得焦点
我常常使用popup窗口来显示一些信息,但是一个恼人的问题是,由于PB对任何类型的窗口,创建后使其获得焦点,这样一来,主窗口就被剥夺了焦点。即便我编程使主窗口强制获得焦点,但是这个过程,在视觉上表现出一个窗口间的焦点切换,显得很不友好。 要解决这个问题,似乎只能通过重载 窗口 的 create 事件。但是PB 的事件列表中找不到(自定义中)。我想这个问题应该是个普遍的问题。请教大家了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sonata_001
2011-10-07
打赏
举报
回复
楼上兄弟,请看看迅雷的主窗口,当你鼠标停留在一行上时,弹出一个透明窗口显示相关的信息。这个手段非常好,我就是要实现这个。
baiynije
2011-10-07
打赏
举报
回复
顯示信息為何又不讓獲得焦點呢,要實現什么功能?
sonata_001
2011-10-07
打赏
举报
回复
回楼上,这窗口是用来显示信息的,岂能掩藏!
baiynije
2011-10-07
打赏
举报
回复
把popup窗口隱藏呢?
sonata_001
2011-10-07
打赏
举报
回复
我想通过 加载 窗口 的 WM_CREATE 消息,来改变窗口的风格(通过 setwindowlong )。无奈在 other 消息中通过 代码监视 WM_CREATE (消息号是 1 )消息,不能捕获到:
if message.number = 1 then
f_g_msgbox('asdad')
end if
没有打印出来。
sonata_001
2011-10-07
打赏
举报
回复
这样似乎不行的吧,这样的方法我也试过的。还是有闪速(焦点切换)。
yyoinge
2011-10-07
打赏
举报
回复
[Quote=引用 10 楼 sonata_001 的回复:]
哦,我的代码如下:
setredraw(false)
openwithparm(w_poplistconsist, ls_data)
pos.l_x = UnitsToPixels(pointerx(), XUnitsToPixels!)
pos.l_y = UnitsToPixels(pointery(), YUnitsToPixels!)
ClientToScreen(h……
[/Quote]
我在主窗口的mousemove事件中写以上代码,也不会出现闪烁,不知道楼中的为什么会闪烁
如果openwithparm pop类型窗口的窗口是通过opensheet方式打开的,则应该是MDI主窗口w_mdi.setredraw(false)
如果不行,加我Q吧:865359042
sonata_001
2011-10-07
打赏
举报
回复
哦,我的代码如下:
setredraw(false)
openwithparm(w_poplistconsist, ls_data)
pos.l_x = UnitsToPixels(pointerx(), XUnitsToPixels!)
pos.l_y = UnitsToPixels(pointery(), YUnitsToPixels!)
ClientToScreen(handle(this), pos)
ll_x = PixelsToUnits(pos.l_x, XPixelsToUnits!)
ll_y = PixelsToUnits(pos.l_y, YPixelsToUnits!)
w_poplistconsist.x = ll_x
w_poplistconsist.y = ll_y
/* changed focus back to main window */
this.setfocus()
setredraw(true)
------------------------------------------------
另外说明的是闪烁是指:应用程序的主框架的标题栏闪烁(颜色变化),不是指主窗口中的内容闪烁。
另外,在open中应该不行,open 时,windows已经创建完成了这个对象了。
yyoinge
2011-10-07
打赏
举报
回复
[Quote=引用 3 楼 sonata_001 的回复:]
我想通过 加载 窗口 的 WM_CREATE 消息,来改变窗口的风格(通过 setwindowlong )。无奈在 other 消息中通过 代码监视 WM_CREATE (消息号是 1 )消息,不能捕获到:
if message.number = 1 then
f_g_msgbox('asdad')
end if
没有打印出来。
[/Quote]
在pb中使用setwindowlong,不需要再other事件中写,直接在窗口的open事件中写就可以了
yyoinge
2011-10-07
打赏
举报
回复
[Quote=引用 1 楼 yyoinge 的回复:]
假设在某个窗口中,单击某按钮时打开一个popup类型的窗口w_pop,则在该按钮的clicked事件中写:
parent.setredraw(false)
open(w_pop)
parent.setfocus()
parent.setredraw(true)
[/Quote]
楼主你再试试,我用这个方法是没有问题的,不会闪的
yyoinge
2011-10-07
打赏
举报
回复
假设在某个窗口中,单击某按钮时打开一个popup类型的窗口w_pop,则在该按钮的clicked事件中写:
parent.setredraw(false)
open(w_pop)
parent.setfocus()
parent.setredraw(true)
Java学习指南20 JavaFX高级
一、课程简介这是『Java学习指南系列』的第20篇教程 ,是Java开发的高级课程,介绍JavaFX的高级技术。JavaFX教程分为两篇:JavaFX入门篇,JavaFX高级篇。本篇课程的主要以实例为主,穿插必要的理论章节。以实际工程运用为背景,演示各种应用级技术的实现方式。二、主要内容 本篇配备充分的实例,包含以下内容:* 界面线程与工作线程的基本原理* 定时任务* 小任务,即一次性的短任务* 进度条定制* 对话框定制* 滚动
窗口
ScrollPane的使用* 弹出式
窗口
Popup
的使用方法* 拖放技术 Drag And Drop的使用方法* 本地程序调用* 与网站后台的交互方法三、课程体系〖Java学习指南系列〗:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。〖网站开发系列〗:包含网页基础、网站入门、数据库、网站中级、FreeMarker、网站高级、项目应用、MyBatis、Redis等课程。
PB
窗口
基础
[
PB
]-
窗口
基础 window对象 【其他】 ■
窗口
画板的定制:Design-Options ■
窗口
类型:Main(可以使用菜单)、Child(不能使用菜单)、Response(如messagebox函数弹出的
窗口
,继续执行程序之前必须对其做出响应;不能使用菜单)、
Popup
(可以使用菜单)、MDI(必须有菜单)、DIHelp(必须有菜单) 【属性】 代码中修改属性:
窗口
名称
无
焦点
显示
窗口
解决方法
1、不同线程的处理方法 如何在2K/xp下使
窗口
获取
焦点
在2K/XP下我们可以用 AttachThreadInput 和SetForegroundWindow来有效的获取
焦点
。//捕捉并设置当前
焦点
窗口
为我们的
窗口
AttachThreadInput( GetWindowThreadProcessId( ::GetForegroundWindow(),NU
PowerBuilder学习笔记(
窗口
设计)
一、
窗口
类型 1.主
窗口
(Main Window) 主
窗口
可以独立存在,不依靠其他任何
窗口
,在执行应用程序过程中,
获得
焦点
时会覆盖其他
窗口
,当失去
焦点
时又会被其他
窗口
所覆盖。 2.子
窗口
(Child Window ) 子
窗口
是由另一个
窗口
打开,打开它的
窗口
是它的的父
窗口
,父
窗口
可以是主
窗口
(Main Window)或者弹出式
窗口
(
Popup
Window)。 3.弹出式
窗口
(
Popup
Window) 弹出式
窗口
也是由另一个
窗口
打开,打开它的
窗口
称...
pb
窗体
1)主窗体(main window)是独立
窗口
,它不依赖于其他任何
窗口
独立存在。这类窗体即能覆盖其他窗件,也能被其它窗体所覆盖; 2)弹出式
窗口
(
popup
window)通常由另一
窗口
打开。弹出式窗体显示在父窗体前面,它即可移出父窗件,也能够覆盖父窗体,但不能被父窗体覆盖。父窗体如果做了相应操作弹出式窗体也会相应操作(如关闭、最小化等); 3)子窗体(child window)从属于另一个窗件,...
控件与界面
604
社区成员
12,293
社区内容
发帖
与我相关
我的任务
控件与界面
PowerBuilder 控件与界面
复制链接
扫一扫
分享
社区描述
PowerBuilder 控件与界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章