请问如何将主画面图片层级置于活动的画面窗口之上

问题简化为:我有两个画面,一个“主画面”,一个“子画面”。
在“主画面”有一个按钮“上锁”(按钮的层级是4),一个半透明的PNG图片“遮罩”(图片的层级是3,初始时图片不显示)和一个画面窗口“子窗口”(画面窗口的层级是2),初始化的时候“子窗口”加载“子画面”。
在“子画面”有一个测试按钮,没有绑画面,就看是否能点击它(鼠标放上去有没有箭头)。
我的需求是:初始化完毕后,如果点击“主画面”的“上锁”按钮,则让“主画面”的“遮罩”图片显示,并且盖住主画面及子画面的所有部分,令他们不可点击。
但是现在实际效果是:“遮罩”图片可以盖住“主画面”除了“子窗口”以外的东西,但是“主画面”中“子窗口”加载的“子画面”中的测试按钮是可以点击的。
示意图中第一张是初始化后,第二张是我需求的,第三张是实际的。(注:灰色的表示遮罩)
是否因为此时“子画面”依然是活动层,而层级比“主画面”高,才导致“遮罩”无法盖住“子画面”。
请问我该怎么解决呢

问题补充:
图片的最终上传顺序好像和我选的顺序不一样
第一张图片是初始化后,第二张图片是实际的,第三张图片是我需求的。

图片说明:

请问如何将主画面图片层级置于活动的画面窗口之上    请问如何将主画面图片层级置于活动的画面窗口之上    请问如何将主画面图片层级置于活动的画面窗口之上   

最佳答案

上锁后,将画面窗口的显示属性设置成No就行了。

提问者对于答案的评价:
我的需求是,锁屏之后,窗口的画面还是需要能看到数据的变化,只是不能进行点击操作,这也是我用半透明的PNG遮罩的原因,所以直接隐藏窗口是不行的。我现在的解决方案是:将每个子画面都放上合适大小的遮罩。

最佳答案作者回复:
如果只是让子画面中的按钮不能点击,只要在上锁按钮的代码中,设置子画面中的“测试”按钮不可用就行。
Dim objButton
   Set objButton = ScreenItems("PictureWindow1").Screen.ScreenItems("Button_test")
   objButton.Enabled = False

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc355907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午2:40
下一篇 2021年7月5日 上午2:40

相关推荐

发表回复

登录后才能评论