这样的GUICtrlCreateInput怎么创建[困难]
本帖最后由 superflq 于 2009-7-19 21:29 编辑就是创建出来的里面输入框是2个字符分隔开的中间用"-"连接
比如图里面开始的"00"输入完了 光标就会跳过"-"到达"7"的地方 :face (36):无人知晓么
----------------------高手们都不开源,郁闷!----------------By kn007
开源了,看下面,总算求出了 同问。。。 这个东西好像难度蛮大的~ 可能吧,但对高手而言就太简单了。。。。
同等 对了,你找到好用的mac修改器不? 对了,你找到好用的mac修改器不?
kn007 发表于 2009-7-17 15:38 http://www.autoitx.com/images/common/back.gif
k-mac一直用这个,
等把上面的INPUT解决了以后自己整一个MAC修改器
K-MAC很经典!----------------By kn007 我发现个不错的,但没源码,我都加他Q求源码。。。他没给。。。也不说话
我非常喜欢能监视网卡修改东西,不知那样得用什么源码。。。
帖子:http://www.autoitx.com/forum.php?mod=viewthread&tid=395&page=1&fromuid=7644076#pid2023
主要喜欢他能自动得到在网络连接中的本地连接名,我是英文系统,他自动知道我的本地连接是 Local Area Connection 2
顺便说句:期待XD的高作 果真很有难度,思路卡壳中,要考虑的情况太多了,代码越写越不着边际了。 果真很有难度,思路卡壳中,要考虑的情况太多了,代码越写越不着边际了。
pusofalse 发表于 2009-7-17 15:50 http://www.autoitx.com/images/common/back.gif
哇,不是吧,pusofalse 大大也觉得有难度?! 果真很有难度,思路卡壳中,要考虑的情况太多了,代码越写越不着边际了。
pusofalse 发表于 2009-7-17 15:50 http://www.autoitx.com/images/common/back.gif
大大加油! #include <WinAPI.au3>
#include <GUIEdit.au3>
#include <GUIConstants.au3>
#include <StaticConstants.au3>
If Not IsDeclared("WM_CHAR") Then $WM_CHAR = 0x102
$hGUI = GUICreate("Test", 180, 100)
GUICtrlCreateLabel("", 20, 20, 140, 20, $SS_SUNKEN)
$hParent = GUICtrlGetHandle(-1)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$hCall = DllCallbackRegister("_IptProc", "int", "hWnd;uint;wparam;lparam")
$pCall = DllCallbackGetPtr($hCall)
Dim $iPos = 0
For $i = 0 to 5
GUICtrlCreateInput("00", $iPos, 3, 20, 17, 1, 4)
GUICtrlSetLimit(-1, 2)
GUICtrlSetFont(-1, 10, 800, "", "Garamond")
_WinAPI_SetParent(GUICtrlGetHandle(-1), $hParent)
If $i = 0 Then
$hOldC = _WinAPI_SetWindowLong(GUICtrlGetHandle(-1), -4, $pCall)
Else
_WinAPI_SetWindowLong(GUICtrlGetHandle(-1), -4, $pCall)
EndIf
GUICtrlCreateLabel("-", $iPos + 41, 30, 4, 2, $SS_SUNKEN)
GUICtrlSetFont(-1, 10, 800, "", "Garamond")
$iPos += 23
Next
GUICtrlDelete(-1)
$iBtnRead = GUICtrlCreateButton("Read", 20, 60, 140, 20)
GUISetState()
GUIRegisterMsg(0x111, "_WMCOMMAND")
Do
$iMsg = guiGetMsg()
Switch $iMsg
Case $iBtnRead
Dim $sData = ""
For $i = 4 to 14 Step 2
$sData &= GUICtrlRead($i) & "-"
Next
Msgbox(0, '', StringTrimRight($sData, 1))
EndSwitch
Until $iMsg = -3
Func _IptProc($hWnd, $iMsg, $wparam, $lparam)
If $iMsg = $WM_CHAR Then
If StringIsXDigit(Chr($wparam)) = 0 And $wparam <> 8 Then Return 0
EndIf
Return _WinAPI_CallWindowProc($hOldC, $hWnd, $iMsg, $wparam, $lparam)
EndFunc ;==>_IptProc
Func _WMCOMMAND($hWnd, $iMsg, $wparam, $lparam)
Local $nID, $iNotifyCode
$nID = bitAND($wparam, 0xFFFF)
$iNotifyCode = bitShift($wparam, 0x10)
If $iNotifyCode = $EN_CHANGE Then
If StringLen(GUICtrlRead($nID)) >= 2 Then
GUICtrlSetState($nID + 2, $GUI_FOCUS)
_GUICtrlEdit_SetSel($nID + 2, 1, 2)
EndIf
EndIf
EndFunc ;==>_WMCOMMAND完全是多个INPUT控件组合模拟出来的,如果都在一个INPUT控件中,那么完成楼主的要求,对我来说不知要难上多少倍。虽是模拟,但生成的界面和效果和顶楼的无甚两样。 学习~~!:)) 已联系作者并求的源码!!!哈哈!!!
http://www.autoitx.com/forum.php?mod=viewthread&tid=395&page=1&fromuid=7644076#pid2023
友情提示:Amu即是作者!!!
他说他很久没玩au3了,而且忘了密码,我已经帮他改好,他以QQ的方式发给我这个附件,而且我也征得他的同意,共享上来,但大家不要修改版权后说是自己的! 不过源码好长啊,待会再看,现在去办点事
奶奶的,看不懂啊!!!
太高深了。。。
慢慢研究。。。
看到了371行。。。明天继续。。。