找回密码
 加入
搜索
查看: 19989|回复: 54

这样的GUICtrlCreateInput怎么创建[困难]

 火.. [复制链接]
发表于 2009-7-17 13:18:49 | 显示全部楼层 |阅读模式
本帖最后由 superflq 于 2009-7-19 21:29 编辑


就是创建出来的里面输入框是2个字符分隔开的中间用"-"连接
比如图里面开始的"00"输入完了 光标就会跳过"-"到达"7"的地方

本帖子中包含更多资源

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

×

评分

参与人数 1金钱 +10 贡献 +10 收起 理由
kn007 + 10 + 10 等你的高作出来,最好附带修改IP地址等的功 ...

查看全部评分

 楼主| 发表于 2009-7-17 13:49:19 | 显示全部楼层
无人知晓么


----------------------高手们都不开源,郁闷!----------------By kn007

开源了,看下面,总算求出了
发表于 2009-7-17 14:01:17 | 显示全部楼层
同问。。。
 楼主| 发表于 2009-7-17 14:32:03 | 显示全部楼层
这个东西好像难度蛮大的~
发表于 2009-7-17 15:36:59 | 显示全部楼层
可能吧,但对高手而言就太简单了。。。。

同等
发表于 2009-7-17 15:38:36 | 显示全部楼层
对了,你找到好用的mac修改器不?
 楼主| 发表于 2009-7-17 15:47:05 | 显示全部楼层
对了,你找到好用的mac修改器不?
kn007 发表于 2009-7-17 15:38


k-mac一直用这个,
等把上面的INPUT解决了以后自己整一个MAC修改器




K-MAC很经典!  ----------------By kn007
发表于 2009-7-17 15:49:56 | 显示全部楼层
我发现个不错的,但没源码,我都加他Q求源码。。。他没给。。。也不说话

我非常喜欢能监视网卡修改东西,不知那样得用什么源码。。。
帖子:http://www.autoitx.com/forum.php ... uid=7644076#pid2023
主要喜欢他能自动得到在网络连接中的本地连接名,我是英文系统,他自动知道我的本地连接是 Local Area Connection 2


顺便说句:期待XD的高作
发表于 2009-7-17 15:50:51 | 显示全部楼层
果真很有难度,思路卡壳中,要考虑的情况太多了,代码越写越不着边际了。
发表于 2009-7-17 15:54:07 | 显示全部楼层
果真很有难度,思路卡壳中,要考虑的情况太多了,代码越写越不着边际了。
pusofalse 发表于 2009-7-17 15:50

哇,不是吧,pusofalse 大大也觉得有难度?!
 楼主| 发表于 2009-7-17 15:55:33 | 显示全部楼层
果真很有难度,思路卡壳中,要考虑的情况太多了,代码越写越不着边际了。
pusofalse 发表于 2009-7-17 15:50



大大加油!
发表于 2009-7-17 17:18:56 | 显示全部楼层
#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控件中,那么完成楼主的要求,对我来说不知要难上多少倍。虽是模拟,但生成的界面和效果和顶楼的无甚两样。

评分

参与人数 6金钱 +80 贡献 +20 收起 理由
魔导 + 40 P版,强大。。。。。
kkikk + 5
bd540 + 5
superflq + 10 谢谢 大大!感激不尽
顽固不化 + 10

查看全部评分

发表于 2009-7-17 18:01:13 | 显示全部楼层
学习~~!:))
发表于 2009-7-17 18:02:45 | 显示全部楼层
已联系作者并求的源码!!!哈哈!!!

http://www.autoitx.com/forum.php ... uid=7644076#pid2023

友情提示:Amu即是作者!!!

他说他很久没玩au3了,而且忘了密码,我已经帮他改好,他以QQ的方式发给我这个附件,而且我也征得他的同意,共享上来,但大家不要修改版权后说是自己的!

本帖子中包含更多资源

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

×

评分

参与人数 3金钱 +15 收起 理由
kkikk + 4
lynfr8 + 1 好东西,居然被你挖到了!!
superflq + 10 太好了,哪里弄到的,是不是联系到原作者了

查看全部评分

发表于 2009-7-17 18:06:22 | 显示全部楼层
不过源码好长啊,待会再看,现在去办点事



奶奶的,看不懂啊!!!
太高深了。。。
慢慢研究。。。

看到了371行。。。明天继续。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 09:28 , Processed in 0.134370 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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