【已解决】input2框双击事件遇到的问题
本帖最后由 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 不懂,帮顶。小白求进步 不懂,帮顶。小白求进步 回复 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
谢谢 austere,我仔佃研 本帖最后由 dunphy 于 2014-7-29 18:50 编辑
回复 4# austere
请问一下Austere大侠,我想加一个DllCallbackFree 是不是应该加在main()上一行吗?? 回复 6# dunphy
根据你的代码自己测试一下,前后应该都没有影响~ 回复 4# austere
不错,学习了。
页:
[1]