cashiba 发表于 2016-4-21 10:26:35

关于GUICtrlCreate函数的小问题[已解决]

本帖最后由 cashiba 于 2016-4-21 11:34 编辑

关于这类函数:
GUICtrlCreateEdit("文本", 左距, 顶距[, 宽度[, 高度[, 样式 = -1[, 扩展样式 = -1]]]])
小白问两个小问题:
1、上面的可省略参数,如果有的省略(采取默认值),有的不省略,比喻宽度或高度,该怎么写?样式和扩展样式可以用-1代替默认值;宽度和高度默认值怎么表示?
    GUICtrlCreateEdit("文本", 左距, 顶距, [宽度], 高度,-1,-1)
GUICtrlCreateEdit("编辑框", 15,10, "", 36,-1,-1)这样写对吗?
2、有没有类似WinGetClienSize或WinGetPos、ControlGetPos这类的函数,可以获取某个GUI控件的位置和尺寸(左距, 顶距, 宽度, 高度)?

kk_lee69 发表于 2016-4-21 10:38:09

回复 1# cashiba

1.預設值內定植 用 -1 或者 Default

2. 查看 WINAPI 說明有 UDF

cashiba 发表于 2016-4-21 10:50:06

回复cashiba

1.預設值內定植 用 -1 或者 Default

2. 查看 WINAPI 說明有 UDF
kk_lee69 发表于 2016-4-21 10:38 http://www.autoitx.com/images/common/back.gif谢谢kk_lee69老师!
1、默认值内定都是用-1 或者 Default代替吗?很多函数帮助文件里语焉不详,新手摸不着头脑阿,还有为可以用""省略呢
2、只看了GUI块里的UDF,没想到WINAPI里还有GUI函数。
   经测试ControlGetPos+GUI控件ID可以获取GUI控件的位置和尺寸。GUI控件属于标准MS控件吧?

haijie1223 发表于 2016-4-21 10:50:35

帮助中有介绍-1或者default;
另一个应该用_WinAPI_GetWindowRect吧。

kk_lee69 发表于 2016-4-21 10:55:56

回复 3# cashiba

說明書 3.3.8 以前版本 分 AUTOIT 說明書   與 UDF 的說明說

以後的版本 好像合再一起了

AU3 有很多 API 函數 都放在 UDF 的說明檔案裏面

請可以看一下

cashiba 发表于 2016-4-21 11:05:16

帮助中有介绍-1或者default;
另一个应该用_WinAPI_GetWindowRect吧。
haijie1223 发表于 2016-4-21 10:50 http://www.autoitx.com/images/common/back.gif谢谢haijie1223版主!

如上,帮助文件里讲得很少,无示例,而且用的是句柄。一般GUICtrlCreate函数都是返回控件ID吧,可以当做句柄用吗?
刚才用ControlGetPos+GUI控件ID也可以获取GUI控件的位置和尺寸,
ControlGetPos("","",控件ID)
能解决问题也算不错{:face (332):}

haijie1223 发表于 2016-4-21 11:15:01

回复 6# cashiba


    这个函数是返回一个结构体,里面包含坐标信息。

kk_lee69 发表于 2016-4-21 11:22:16

回复 6# cashiba

一般GUICtrlCreate函数都是返回控件ID吧,可以当做句柄用??

不是有返回句柄 的函數??   GUICtrlGetHandle

理論上 可以直接用 UDF 通常會考慮到自動幫你轉換

cashiba 发表于 2016-4-21 11:29:07

回复cashiba
一般GUICtrlCreate函数都是返回控件ID吧,可以当做句柄用??
不是有返回句柄 的函數?? ...
kk_lee69 发表于 2016-4-21 11:22 http://www.autoitx.com/images/common/back.gif惭愧!,最近才开始看GUI方面,示例里好像大部分都是返回ID,没太注意这个函数。但是看这个函数GUICtrlGetHandle(控件ID),也是基于控件ID。不算完美,还不如直接用控件ID了

cashiba 发表于 2016-4-21 11:33:52

问题到此算是解决了,再次感谢kk_lee69和haijie1223两位老师!

afan 发表于 2016-4-21 11:37:09

LZ提问频率很高啊,这样很难提高自学能力…

kk_lee69 发表于 2016-4-21 11:37:42

回复 9# cashiba

有些函數 一定要句柄的但是 你創建出來的都是 ID

所以這時候 GUICtrlGetHandle(控件ID)這個就有用途啦

cashiba 发表于 2016-4-21 19:40:58

LZ提问频率很高啊,这样很难提高自学能力…
afan 发表于 2016-4-21 11:37 http://www.autoitx.com/images/common/back.gif所提问题大部分都是AU3语法有别于其它语言的的地方,提一次问胜过三天不着要领的东看西看....比喻刚开始不同版本的scite得不到正确结果的问题,新手如果憋着不好意思问,要被折腾死....

cashiba 发表于 2016-4-21 19:46:06

回复cashiba
有些函數 一定要句柄的但是 你創建出來的都是 ID
所以這時候 GUICtrlGetHandle(控 ...
kk_lee69 发表于 2016-4-21 11:37 http://www.autoitx.com/images/common/back.gif目前还没学到那个深度,刚接触GUI呢,不过kk_lee69老师一句话说到该函数的要领上,令人印象深刻....感谢!

dabaiyun 发表于 2016-4-28 20:47:23

学习啦看似简单实则难懂
页: [1]
查看完整版本: 关于GUICtrlCreate函数的小问题[已解决]