liupeng1990607 发表于 2012-12-22 16:13:10

如何input1(工号)输入完毕后自动带出input2(姓名)的资料并显示!

如何input1(工号)输入完毕后自动带出input2(姓名)的资料并显示!自动带出来工号对应的姓名,
input2不能编辑!! 用工号取姓名的语句我会,就是不会应用!!

楼上风云 发表于 2012-12-22 23:49:33

回复 1# liupeng1990607

GUICtrlSetData ( 控件ID, 数据 [, 默认值] )
控件ID=input2
数据=根据input1索引而来的数据

auhj887 发表于 2012-12-23 11:20:35

楼主辛苦了!

user3000 发表于 2012-12-23 11:35:33

回复 1# liupeng1990607

要实现类似"自动", 最好是注册系统信息吧. 参考一下别的帖子就有了.
#include <WindowsConstants.au3>
#include <GuiConstants.au3>
#include <EditConstants.au3>
#include <Array.au3>
Opt('MustDeclareVars', 1)
Global $hGui, $msg, $Input1, $Input2
Global $XueHao =
Global $XingMing = ["Adam", "John", "Jack"]

$hGui = GUICreate('Test', 450, 200)
$Input1 = GUICtrlCreateInput("", 10, 10, 400, 30)
$Input2 = GUICtrlCreateInput("", 10, 80, 400, 30)
GUICtrlSetState(-1, $GUI_DISABLE)
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
GUISetState()

While True
        $msg = GUIGetMsg()
        If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd

Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
        Local $nNotifyCode = BitShift($wParam, 16)
        Local $nID = BitAND($wParam, 0x0000FFFF)
        If $nNotifyCode = $EN_KILLFOCUS Or $nNotifyCode = $EN_CHANGE Then
                Local $index = _ArraySearch($XueHao, GUICtrlRead($Input1))
                If @error Then
                        GUICtrlSetData($Input2, '无此学号')
                Else
                        GUICtrlSetData($Input2, $XingMing[$index])
                EndIf
        EndIf
EndFunc   ;==>MY_WM_COMMAND

qq82015930 发表于 2012-12-23 17:06:22

4楼回答精辟....{:face (427):}

qiziyun7410 发表于 2012-12-28 07:20:45

参考一下!还是写在TXT里好!
页: [1]
查看完整版本: 如何input1(工号)输入完毕后自动带出input2(姓名)的资料并显示!