GUICtrlSetData大小写【已解决】
本帖最后由 love5173 于 2011-4-11 23:56 编辑这个函数如何控制大小写,原始数据是大写的,输出后就是小写了,为什么呢
下面的是用msgbox输出的
DC1203----1400883850----454BC97AE4548347
下面的是GUICtrlSetData输出的
dc1203----1400883850----454bc97ae4548347 stringupper('dc1203----1400883850----454bc97ae4548347') 回复 2# netegg
源码中GUICtrlSetData上面就是stringupper 函数啊
而且,同一个位置 用msgbox 跟GUICtrlSetData的结果就跟我开始说的一样
要不您测试下 本帖最后由 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:32 编辑
会不会和我以前犯那个错一样,控件用了 $ES_LOWERCASE 样式 自动将输入的字符转换成小写了,害得我一直找不到问题的原因。 本帖最后由 netegg 于 2011-3-30 14:34 编辑
这个要看怎么建的
$label = GUICtrlCreateLabel(StringUpper('dc1203----1400883850----454bc97ae4548347'), 10, 10, 180, 12)
这样也没问题,如果是使用样式的话就不行了,你实际折腾进去的是什么就是什么,样式只是界面显示,不是实际值,想想看密码输入框就行了,一个意思 本帖最后由 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.
果然,是我太粗心了,老剽窃别人总会出问题的 回复 6# netegg
GUI界面变了小写,去复制的时候难免就是小写了。结果自然不是我要了,麻烦你了 回复 7# love5173
0x0010 = $ES_LOWERCASE;转换编辑控件输入的所有字符为小写字母. 本帖最后由 netegg 于 2011-3-30 16:46 编辑
{:face (52):} 翘腚膜拜 回复 9# 水木子
使用了这个样式后就没有了侧边滑动条,我是因为这个才用的,当时也是因为这个原因才没看说明就以为是取消侧边滑动条的样式了,现在我应该换什么呢,我这的帮助文件好多英文,脑袋大了 回复 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 回复 12# 水木子
谢谢,我发现不用这么复杂,直接加一个支持按回车换行的格式就可以了,对吧 回复 13# love5173
嗯!可能是我误解了你的意思。 学习学习了...
页:
[1]
2