找回密码
 加入
搜索
查看: 7817|回复: 7

[AU3基础] 【已解决】input2框双击事件遇到的问题

  [复制链接]
发表于 2014-7-25 22:02:07 | 显示全部楼层 |阅读模式
本帖最后由 dunphy 于 2014-7-26 01:58 编辑

如图,在input2框里输入66,双击它后,输入的字符变蓝,并复制到剪贴版上,这个CASE事件该如何来写,

我只知道将INPUT2输入框里的值读取出来用  ClipPut(GUICtrlRead($Input2))    还请大侠指点。
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <Clipboard.au3>
#Include <WinAPI.au3>

#Region
Global $Form1 = GUICreate("如何复制", 348, 113, 724, 542, -1, 0)
Global $Input1 = GUICtrlCreateInput("", 88, 32, 65, 21)
Global $Label2 = GUICtrlCreateLabel("对应值:", 176, 32, 52, 17)
Global $Input2 = GUICtrlCreateInput("", 240, 32, 65, 21)
#EndRegion

_Main()
Exit
Func _Main()
        GUISetState(@SW_SHOW)

While 1
        Local $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                        
  EndSwitch   
WEnd
EndFunc;========>_main                        

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-7-25 23:14:14 | 显示全部楼层
不懂,帮顶。小白求进步
发表于 2014-7-25 23:14:18 | 显示全部楼层
不懂,帮顶。小白求进步
发表于 2014-7-25 23:23:54 | 显示全部楼层
回复 1# dunphy

论坛有例子的,我稍微修改一下发下吧
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Clipboard.au3>
#include <WinAPI.au3>

#Region
Global $Form1 = GUICreate("如何复制", 348, 113, 724, 542, -1, 0)
Global $Input1 = GUICtrlCreateInput("", 88, 32, 65, 21)
Global $Label2 = GUICtrlCreateLabel("对应值:", 176, 32, 52, 17)
Global $Input2 = GUICtrlCreateInput("", 240, 32, 65, 21)
#EndRegion
$wProcNew = DllCallbackRegister("_MyWindowProc", "ptr", "hwnd;uint;long;ptr")
$wProcOld = _WinAPI_SetWindowLong(GUICtrlGetHandle($Input2), $GWL_WNDPROC, DllCallbackGetPtr($wProcNew))

_Main()
Exit
Func _Main()
        GUISetState(@SW_SHOW)

        While 1
                Local $nMsg = GUIGetMsg()
                Switch $nMsg
                        Case $GUI_EVENT_CLOSE
                                Exit

                EndSwitch
        WEnd
EndFunc   ;==>_Main

Func _MyWindowProc($hWnd, $uiMsg, $wParam, $lParam)
        Switch $uiMsg
                Case $WM_LBUTTONDBLCLK
                        $ss = GUICtrlRead($Input2)
                        If $ss = "" Then
                                MsgBox(64, "提示", "没有复制任何数据")
                        Else
                                ClipPut($ss)
                                MsgBox(64, "提示", "数据已经复制到剪切板")
                        EndIf
        EndSwitch
        Return _WinAPI_CallWindowProc($wProcOld, $hWnd, $uiMsg, $wParam, $lParam)
EndFunc   ;==>_MyWindowProc
 楼主| 发表于 2014-7-26 00:29:30 | 显示全部楼层
谢谢 austere,我仔佃研
 楼主| 发表于 2014-7-29 18:49:31 | 显示全部楼层
本帖最后由 dunphy 于 2014-7-29 18:50 编辑

回复 4# austere


   请问一下Austere大侠,我想加一个DllCallbackFree 是不是应该加在main()上一行吗??
发表于 2014-7-30 17:07:47 | 显示全部楼层
回复 6# dunphy

根据你的代码自己测试一下,前后应该都没有影响~
发表于 2014-8-1 09:36:43 | 显示全部楼层
回复 4# austere


    不错,学习了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 16:32 , Processed in 0.122095 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表