smooth 发表于 2022-4-14 10:30:52

【已解决】请教如何让MsgBox水平、垂直居中于GUI(跟随GUI走)?

本帖最后由 smooth 于 2022-4-18 10:14 编辑

MsgBox默认是水平、垂直居中于电脑屏幕的,它并不跟随GUI走,MsgBox所有的必选、可选参数中,没有设置它的位置的参数。请教如何才能让MsgBox水平、垂直居中于GUI呢?

nhnhwsnh 发表于 2022-4-14 10:39:18

如果你用的msgbox函数的话,可能要再开一个进程来移动它了




zghwelcome 发表于 2022-4-14 10:39:47

1.自建子窗口模拟msgbox ;2. hook窗口创建消息并移动到指定位置

smooth 发表于 2022-4-14 11:08:22

zghwelcome 发表于 2022-4-14 10:39
1.自建子窗口模拟msgbox ;2. hook窗口创建消息并移动到指定位置

自建GUI就不考虑了,请教如何hook呢?有例子吗?

smooth 发表于 2022-4-14 11:10:58

nhnhwsnh 发表于 2022-4-14 10:39
如果你用的msgbox函数的话,可能要再开一个进程来移动它了

我用的是MsgBox函数,请教大佬,如何开进程来移动它呢,有例子吗?

smooth 发表于 2022-4-14 16:21:25

本帖最后由 smooth 于 2022-4-14 16:37 编辑

变通的方法,等Msgbox窗口出现再移动它:

Func _MoveMsgboxWin()
      If WinExists("温馨提示") Then
             WinMove("温馨提示", "", WinGetPos($hgui) + WinGetPos($hgui) / 2 - WinGetPos("温馨提示") / 2, WinGetPos($hgui) + WinGetPos($hgui) / 2 - WinGetPos("温馨提示") / 2)
      EndIf
EndFunc


问题:
1、出现跳级现象,就可以很明显的看到,Msgbox从一个地方跳到另外一个地方;
2、有时候移动失败,Msgbox还是在刚出现的地方没动。

tubaba 发表于 2022-4-15 12:35:19

在发贴前先搜索一下论坛,不是有类似的贴子.https://www.autoitx.com/forum.php?mod=redirect&goto=findpost&ptid=13550&pid=184278&fromuid=7638255

smooth 发表于 2022-4-15 16:57:40

tubaba 发表于 2022-4-15 12:35
在发贴前先搜索一下论坛,不是有类似的贴子.https://www.autoitx.com/forum.php?mod=redirect&goto=findpost ...

搜是搜了,找得不够仔细,有时候是关键词用的不恰当,谢谢大佬。
页: [1]
查看完整版本: 【已解决】请教如何让MsgBox水平、垂直居中于GUI(跟随GUI走)?