cashiba 发表于 2017-1-23 16:05:28

为什么窗口原点坐标不是(0,0)[已解决]

本帖最后由 cashiba 于 2017-1-24 21:17 编辑

While 1
        local $hwnd = WinGetHandle("")
    Local $Stat = WinGetState($hWnd)
        local $TipTxt = ""
        $ht = WinGetTitle($hWnd)
    $TipTxt = "---------------"
        $TipTxt = $TipTxt & @CRLF & "#" & $ht & "#"
        $TipTxt = $TipTxt & @CRLF & "---------------"
        $wp = WinGetPos($hWnd)
        $TipTxt = $TipTxt & @CRLF & "当前窗口状态数值:" & $Stat
        $TipTxt = $TipTxt & @CRLF & "当前窗口绝对坐标:" & $wp & "," & $wp
        $TipTxt = $TipTxt & @CRLF & "当前窗口占屏大小:" & $wp & "x" & $wp
        $TipTxt = $TipTxt & @CRLF & "当前屏幕宽度高度:" & @DesktopWidth & "x" & @DesktopHeight

        ToolTip($TipTxt, Default, Default, "当前活动窗口", 1,3)
        HotKeySet("{F9}", "Ext")
        Sleep(10)
WEnd
Func Ext()
        ToolTip("")
        Sleep(1000)
        Exit
EndFunc
如上,有3个疑问:
1、在操作窗口时,发现窗口的绝对坐标不是(0,0)而是(-8,-8)......就像称体重时发现磅秤每次都需要调零
   怎样才能获得正确的(0,0)呢?
   是不是窗口在最小化、最大化状态之间还有一个标准状态呢?
   还是显示器没设置好?
2、tooltip的参数中,选项设置为$TIP_BALLOON (1)+$TIP_CENTER (2)= 气泡提示+在控件出现位置的 X,Y 坐标居中显示
   这个“X,Y 坐标居中显示”是指气泡的顶点在(X,Y)点?
3、怎样才能让Tooltip不闪烁?太晃眼了....
{:face (52):}

1361739590 发表于 2017-1-23 16:59:11

我是 -9,-9,这就是正确的,占屏大小也是。
如果使用居中标志, 则工具提示框的中心将对齐指定的 x、y 坐标.
如果同时使用中心和气泡提示标志, 则气泡提示框箭头指向指定的 x、y 坐标.

cashiba 发表于 2017-1-23 20:53:13

我是 -9,-9,这就是正确的,占屏大小也是。
如果使用居中标志, 则工具提示框的中心将对齐指定的 x、y 坐标 ...
1361739590 发表于 2017-1-23 16:59 http://www.autoitx.com/images/common/back.gif
不是(0,0)也就罢了,为啥还是负值呢,关键是要弄懂这个阿,不然以后用到这个的时候可能会出错....

1361739590 发表于 2017-1-24 09:17:15

回复 3# cashiba


   移出屏幕就是负数了呗,你搜搜看为什么会超出屏幕大小。

jsdn2000 发表于 2017-1-24 12:22:38

如果窗体不是最大化的时候,坐标是允许负值的呀,x值或者y值小于0的时候就是已经有一部分移出桌面了。

cashiba 发表于 2017-1-24 12:55:02

回复cashiba
搜搜看为什么会超出屏幕大小。
1361739590 发表于 2017-1-24 09:17 http://www.autoitx.com/images/common/back.gif
就下面这意思?
两种情况:一、是显示器的设置问题,最大化后超过屏幕显示就应该调这个;二、显示器没问题只是窗口打开默认大小太大,要这样调,关掉所有的窗口,每一类的窗口只打开一个,用鼠标拉动窗口边框调整到合适的大小,之后关掉窗口,再次打开这类的窗口就是你设定的大小了,注意:文件夹窗口、Word窗口、记事本窗口、浏览器窗口等等每一类都要单独调一下。
也没觉得窗口默认大小太大,刚装的系统都这样子....调一调反而没个谱了

cashiba 发表于 2017-1-24 13:11:11

在打开窗口前,加句代码,自动调整窗口大小为屏幕等大,也许就算是调零了?
{:face (332):}

1361739590 发表于 2017-1-24 17:03:50

回复 7# cashiba


    调零是什么意思?
只是把屏幕移到 0,0 位置 且 大小调到屏幕等大,这样正好。
只是没什么意思。

cashiba 发表于 2017-1-24 20:33:52

回复cashiba
调零是什么意思?
只是把屏幕移到 0,0 位置 且 大小调到屏幕等大,这样正好。
只 ...
1361739590 发表于 2017-1-24 17:03 http://www.autoitx.com/images/common/back.gif
如果跟屏幕等大原点重合才算最大化窗口的话,那最大化对所有窗口来说都是统一的标准了....
当然了,磅秤不调零,也能称出体重,看使用者的习惯吧
{:face (288):}

1361739590 发表于 2017-1-25 08:42:52

最大化对所有窗口来说都是统一的标准了 是什么意思?

cashiba 发表于 2017-1-25 14:51:43

最大化对所有窗口来说都是统一的标准了 是什么意思?
1361739590 发表于 2017-1-25 08:42 http://www.autoitx.com/images/common/back.gif
我也不知道窗口最大化是怎么定义的,应该windows规定好的统一的标准吧。
页: [1]
查看完整版本: 为什么窗口原点坐标不是(0,0)[已解决]