返回介绍

Function GUICtrlSendMsg

发布于 2020-03-05 18:21:30 字数 2298 浏览 1135 评论 0 收藏 0

GUICtrlSendMsg

向指定控件发送消息。

GUICtrlSendMsg ( 控件ID, msg , wParam, lParam )

参数

控件ID控件标识符(控件ID),可由 GUICtrlCreate... 函数的返回值获得。
msg要发送到控件的消息类型,在 Windows 的控件文档中有定义。
wParam要发送到控件的第一个参数。
lParam要发送到控件的第二个参数。

返回值

成功:返回 SendMessage(Windows API) 的返回值。
失败:返回值为0。

注意

本函数允许我们使用 SendMessage(API 函数) 来把某些特殊的 Windows 消息直接发送到控件上。它可以用来启用某些特殊的控件功能,而这些功能往往是简单的 GUICtrlRead() 和 GUICtrlSet...() 函数无法实现的。

参数(wParam 和 lParam)可以是整型值也可以是字符串。

GUICtrlSendMsg 可用于发送那些没有特殊返回值类型的消息。对于其它需要接收额外数据的更高级的消息发送就必须使用 GUICtrlRecvMsg()

相关

GUICtrlRecvMsg, GUICtrlCreate..., GUICtrlSet..., GUIMsg, GUICtrlRead

示例


#include <GUIConstants.au3>

GUICreate("我的 GUI") ; 创建一个居中显示的窗口

$nEdit = GUICtrlCreateEdit ("line 0", 10,10)
GUICtrlCreateButton ("确定", 20,200,50)
GUISetState ()

for $n=1 to 5
GUICtrlSetData ($nEdit,@CRLF & "line "& $n)
next

$EM_LINEINDEX = 0x00BB
$EM_LINEFROMCHAR = 0x00C9

; 运行脚本直到窗口被关闭
Do
$msg = GUIGetMsg()
if $msg >0 then
$n=GUICtrlSendMsg ($nEdit, $EM_LINEINDEX,-1,0)
$nline=GUICtrlSendMsg( $nEdit, $EM_LINEFROMCHAR,$n,0)
GUICtrlSetState ($nEdit,256) ; 设置焦点

MsgBox (0,"光标所在行号",$nLine)
endif
Until $msg = $GUI_EVENT_CLOSE


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文