找回密码
 加入
搜索
查看: 8324|回复: 17

[GUI管理] GUICtrlSetData大小写【已解决】

 火.. [复制链接]
发表于 2011-3-30 12:37:00 | 显示全部楼层 |阅读模式
本帖最后由 love5173 于 2011-4-11 23:56 编辑

这个函数如何控制大小写,原始数据是大写的,输出后就是小写了,为什么呢
下面的是用msgbox输出的
DC1203----1400883850----454BC97AE4548347
下面的是GUICtrlSetData输出的
dc1203----1400883850----454bc97ae4548347
发表于 2011-3-30 14:01:26 | 显示全部楼层
stringupper('dc1203----1400883850----454bc97ae4548347')
 楼主| 发表于 2011-3-30 14:04:48 | 显示全部楼层
回复 2# netegg
源码中GUICtrlSetData上面就是stringupper 函数啊
而且,同一个位置 用msgbox 跟GUICtrlSetData的结果就跟我开始说的一样
要不您测试下
发表于 2011-3-30 14:22:33 | 显示全部楼层
本帖最后由 netegg 于 2011-3-30 14:25 编辑

回复 3# love5173
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>


Example1()

;示例 1
Func Example1()
        Local $msg

        GUICreate("My GUI") ; 创建一个居中显示的 GUI 窗口
        $label = GUICtrlCreateLabel('', 10, 10, 180, 12)
        GUICtrlSetData(-1, StringUpper('dc1203----1400883850----454bc97ae4548347'))
        $edit = GUICtrlCreateEdit('', 10, 30, 300,70)
        GUICtrlSetData(-1, StringUpper('dc1203----1400883850----454bc97ae4548347'))
        $button = GUICtrlCreatebutton('', 10, 90, 300,20)
        
        GUISetState(@SW_SHOW)

        ; 运行界面,直到窗口被关闭
        MsgBox(0,0,GUICtrlRead($edit) & @crlf& GUICtrlRead($label))
        While 1
                $msg = GUIGetMsg()

                If $msg = $GUI_EVENT_CLOSE Then ExitLoop
                If $msg = $button Then MsgBox(0,0,GUICtrlRead($label))

        WEnd
        GUIDelete()
EndFunc   ;==>Example1
发表于 2011-3-30 14:25:14 | 显示全部楼层
本帖最后由 水木子 于 2011-3-30 14:32 编辑

会不会和我以前犯那个错一样,控件用了 $ES_LOWERCASE 样式 自动将输入的字符转换成小写了,害得我一直找不到问题的原因。

评分

参与人数 1金钱 +11 收起 理由
love5173 + 11 谢谢

查看全部评分

发表于 2011-3-30 14:29:38 | 显示全部楼层
本帖最后由 netegg 于 2011-3-30 14:34 编辑

这个要看怎么建的
$label = GUICtrlCreateLabel(StringUpper('dc1203----1400883850----454bc97ae4548347'), 10, 10, 180, 12)
这样也没问题,如果是使用样式的话就不行了,你实际折腾进去的是什么就是什么,样式只是界面显示,不是实际值,想想看密码输入框就行了,一个意思
 楼主| 发表于 2011-3-30 16:13:13 | 显示全部楼层
本帖最后由 love5173 于 2011-3-30 16:20 编辑

$Edit2 = GUICtrlCreateEdit("", 168, 32, 409, 481,0x0010)
我想是0x0010的原因吧
这个效果是看别人的软件copy来的 也没查这个句的意思!
感谢二位的帮助!
$ES_LOWERCASE----0x0010----Converts all characters to lowercase as they are typed into the edit control.
果然,是我太粗心了,老剽窃别人总会出问题的
 楼主| 发表于 2011-3-30 16:17:10 | 显示全部楼层
回复 6# netegg
GUI界面变了小写,去复制的时候难免就是小写了。结果自然不是我要了,麻烦你了
发表于 2011-3-30 16:19:40 | 显示全部楼层
回复 7# love5173

0x0010 = $ES_LOWERCASE  ;转换编辑控件输入的所有字符为小写字母.
发表于 2011-3-30 16:44:51 | 显示全部楼层
本帖最后由 netegg 于 2011-3-30 16:46 编辑

翘腚膜拜
 楼主| 发表于 2011-3-30 17:45:05 | 显示全部楼层
回复 9# 水木子
使用了这个样式后就没有了侧边滑动条,我是因为这个才用的,当时也是因为这个原因才没看说明就以为是取消侧边滑动条的样式了,现在我应该换什么呢,我这的帮助文件好多英文,脑袋大了
发表于 2011-3-30 19:18:40 | 显示全部楼层
回复 11# love5173

这样吗?不过这样感觉并不方便!
HotKeySet('{Enter}', '_Enter')

$MyGui = GUICreate("Form1", 400, 300)
$Edit1 = GUICtrlCreateEdit("", 5, 5, 390, 250, 0)
GUISetState()

Do
Until GUIGetMsg() = -3

Func _Enter()
        If WinActive($MyGui) Then
                GUICtrlSetData($Edit1, @CRLF, 1)
        Else
                HotKeySet('{Enter}')
                Send('{Enter}')
                HotKeySet('{Enter}', '_Enter')
        EndIf
EndFunc   ;==>_Enter
 楼主| 发表于 2011-3-30 22:48:43 | 显示全部楼层
回复 12# 水木子
谢谢,我发现不用这么复杂,直接加一个支持按回车换行的格式就可以了,对吧
发表于 2011-3-30 22:56:46 | 显示全部楼层
回复 13# love5173
嗯!可能是我误解了你的意思。
发表于 2011-3-31 08:06:53 | 显示全部楼层
学习学习了...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2025-1-11 15:06 , Processed in 0.080380 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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