找回密码
 加入
搜索
楼主: 魔导

[GUI管理] 单选框 和 复选框 选好后再启动? 《已解决》

 火.. [复制链接]
 楼主| 发表于 2012-2-13 02:12:22 | 显示全部楼层
回复 8# netegg

group  是把那八个单选  作为一组 是不是写错啦?
发表于 2012-2-13 11:28:50 | 显示全部楼层
还没解决?如果楼主贴出代码发问,估计在2#就已解决。
想帮忙的人不少,但多数也不愿花冤枉时间纵容这种无代码发问的非新人。而且贡献值还是负的。
发表于 2012-2-13 11:49:05 | 显示全部楼层
本帖最后由 netegg 于 2012-2-13 17:15 编辑

回复 16# 魔导
什么时候说过给的代码是你要的东西了,只是给你个操作的方法罢了,你的脚本你自己去写
之所以现在还在看这个话题,已经和你的代码无关了,我在看有没有什么人单纯用位运算解决变换的事
再说了,本来找的就是通用方法,几个单选有什么区别呢,哪怕就两个,循环的终值改改就行了
发表于 2012-2-13 17:37:58 | 显示全部楼层
[au3]#include <guiconstantsex.au3>
Example()
Func Example()
   Local $msg, $checkbox[3], $radio[5], $state, $new
   GUICreate("My GUI Checkbox")
   $checkbox[0] = GUICtrlCreateCheckbox("CHECKBOX 1", 10, 10, 120, 20)
   For $i = 0 To 4
      $radio[$i] = GUICtrlCreateRadio('radio', 10, ($i + 2) * 20, 130.20)
      GUICtrlSetState(-1, $gui_disable)
   Next
   GUISetState()

   While 1
      $msg = GUIGetMsg()
      If $msg = $checkbox[0] Then
            $state = GUICtrlRead($checkbox[0])
            For $i = 0 To UBound($radio) - 1
                $new = BitShift($GUI_ENABLE, -$state) / (BitShift($state, -1)) ;BitShift($state, -1) ) = $state * 2
                GUICtrlSetState($radio[$i], $new)
            Next
    EndIf
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
  WEnd
EndFunc   ;==>Example[/au3]
老外的方案,佩服

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10 很简洁, 但非一般人能理解!

查看全部评分

发表于 2012-2-13 17:49:10 | 显示全部楼层
老外的方案,佩服
netegg 发表于 2012-2-13 17:37



    $new = Round($state / 2) * 64
发表于 2012-2-13 18:09:11 | 显示全部楼层
一大堆的选项啊 光往上放这些圈圈估计也得半天。
发表于 2012-2-13 18:15:16 | 显示全部楼层
本帖最后由 netegg 于 2012-2-13 18:17 编辑

回复 20# afan
不讨论这些了,64是怎么出来的,对着数看的?
本来里面那个除 / 都不想要的,不过懒得算了
按理说应该是纯位运算,就放着吧
发表于 2012-2-13 18:17:16 | 显示全部楼层
回复 22# netegg


    $GUI_ENABLE = 64  用惯了数字…
$new = Round($state / 2) * $GUI_ENABLE
发表于 2012-2-13 18:18:32 | 显示全部楼层
回复 23# afan

没什么,纯技术细节了
 楼主| 发表于 2012-2-13 22:27:39 | 显示全部楼层
本帖最后由 魔导 于 2012-2-13 22:41 编辑

回复 17# afan


    谢谢   版主提醒   这就上源码  
我的贡献 是负的   我也不知道怎么回事
发表于 2012-2-13 23:00:38 | 显示全部楼层
回复 25# 魔导


    只能说你写这代码的时候一定精力很旺盛,劳累之后思路瘫痪也就正常了~
你上代码之后,肯定可以学到数组的概念。
发表于 2012-2-13 23:19:25 | 显示全部楼层
回复 25# 魔导
你这个列也要单选,为什么每一列的单选框名$radio(1,2,3,....)都是一样的?
 楼主| 发表于 2012-2-13 23:31:29 | 显示全部楼层
本帖最后由 魔导 于 2012-2-13 23:33 编辑

回复 27# netegg


    是这样的    代码是由别的地方来的    我也不知道  1和2有多么区别  我写了后运行见弹出来了我就因为是对的啦  

我做好了一个组  以后  我的后面的 组都是复制出来的    所以都是一样的啦
还有TAB那个也是   做个一个后复制出来的         
代码有好多    全部的发不上来   但都是复制出来的   发的时候出提示说   50000的标准  可我的码  有58340
 楼主| 发表于 2012-2-13 23:37:15 | 显示全部楼层
回复 26# afan


    不是这样的   我都黑眼圈啦  
这样写的   原因是我不懂得怎么简单化(我想应该可以的)    所以只好用体力  而没技术啦
您说的  数组是不是把这些简单化的一个东西啊
 楼主| 发表于 2012-2-13 23:51:07 | 显示全部楼层
本帖最后由 魔导 于 2012-2-13 23:53 编辑

回超级版主 和  元老的话  
现在我知道的 码加起来都没几个
GUICtrlCreateGroup("", -99, -99, -99, -99) ;上一个下一个  中间的的就是一组
GUICtrlCreateRadio("NO", 280,80, 30, 17);做一个单选
GUICtrlCreateCheckbox("XD<下>", 0, 40, 70, 15);做一个复选
GUICtrlSetOnEvent(-1, "paly");这个码的上一个码被点击时就执行一个自定义函数
GUICtrlCreateTabItem("JS 01"); 做一个TAB的单页
GUICtrlCreateButton("摆放位置",500, 80, 75, 25);做一个按钮
Func C()
      Exit;结束
EndFunc ;把一些函数合并成一个函数 而且可以自己命名

HotKeySet("q", "MyExit");按下Q的时候就执行一个自定义函数("myexit")
ControlMove("HAO1","","",$Ax,$Ay);移动窗口  到  某某坐标  ($Ax,$Ay)是多少要事先用Global写好在前面  
Do;循环开始
Send("n")  ;按N键                               
Sleep(250);等待250   1000为一秒
Until PixelGetColor(39+$Ax,435+$Ay)=0xA7101A ;结束条件(指定坐标出现指定的颜色)
MouseClick("left",542+$Ax,454+$Ay,1,0);鼠标左键点击
MouseClick("right",474+$Ax,220+$Ay+1,10,0); 鼠标右键点击
WinActivate("HAO2");激活窗口

大概就这点了   其他的就不知道了   现在是注册会员了   但都是回复得来的 不是知道 了注册会员知道的东西得来的
写这个都是东找西找拼凑出来的  本来想可以拼凑出来   现在发现还需要好多代码  可是又找不到   所以发了提问贴
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-18 03:22 , Processed in 0.069481 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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