anythinging 发表于 2020-4-15 15:25:29

[已解决]关于将密码框恢复显示

本帖最后由 anythinging 于 2020-4-17 11:00 编辑

请教各位老师,如何在程序运行中,将密码输入框改成明文或改成密文,怎么设置都不管用。感谢指点!

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


Example()

Func Example()
    GUICreate("调整控件的样式") ; 创建一个居中显示的对话框

      $1      =      GUICtrlCreateInput('123',120,60,80,20,$ES_PASSWORD)
      $2      =      GUICtrlCreateInput('456',120,120,80,20)
                        GUICtrlSetStyle(-1,$ES_PASSWORD )
      $bt1      =      GUICtrlCreateButton('1',50,350,50,30)

      GUISetState(@SW_SHOW)

    ; 循环到用户退出.
    While 1
      Switch GUIGetMsg()
            Case $bt1
                              GUICtrlSetStyle($2,$ES_PASSWORD )
                              GUICtrlSetStyle($1,-1,-1)
                        Case $GUI_EVENT_CLOSE
                ExitLoop

      EndSwitch
    WEnd
EndFunc   ;==>Example

zghwelcome 发表于 2020-4-15 18:43:09


#include <GuiEdit.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
        GUICreate("调整控件的样式")
        $Input1 = GUICtrlCreateInput('123', 120, 60, 80, 20, $ES_PASSWORD)
        $Input2 = GUICtrlCreateInput('456', 120, 120, 80, 20)
        $bt1 = GUICtrlCreateButton('显示密码', 50, 350, 80, 30)
        GUISetState(@SW_SHOW)
        While 1
                Switch GUIGetMsg()
                        Case $bt1
                                _GUICtrlEdit_SetPasswordChar($Input1)
                                GUICtrlSetData($Input1,GUICtrlRead($Input1))
                        Case $GUI_EVENT_CLOSE
                                ExitLoop
                EndSwitch
        WEnd
EndFunc   ;==>Example



chzj589 发表于 2020-4-15 16:07:11

本帖最后由 chzj589 于 2020-4-15 20:24 编辑

查看:查看附录 GUI 控件样式表.
$ES_PASSWORD,   0x0020,   输入编辑控件的每个字符显示为星号 (*).
这只是 输入编辑控件的每个字符显示为星号,不是密文

#include <GuiEdit.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
        GUICreate("调整控件的样式")
        $Input2 = GUICtrlCreateInput('456', 120, 120, 80, 20, $ES_PASSWORD)
        $Input1 = GUICtrlCreateInput('123', 120, 60, 80, 20, $ES_PASSWORD)
        $bt1 = GUICtrlCreateButton('显示密码', 50, 350, 80, 30)
        $bt2 = GUICtrlCreateButton('返回星号', 180, 350, 80, 30)
        GUISetState(@SW_SHOW)
        While 1
                Switch GUIGetMsg()
                        Case $bt1
                                _GUICtrlEdit_SetPasswordChar($Input1)
                                GUICtrlSetData($Input1, GUICtrlRead($Input1))
                                _GUICtrlEdit_SetPasswordChar($Input2)
                                GUICtrlSetData($Input2, GUICtrlRead($Input2))
                                GUICtrlSetFont($Input1, 10, 400, 0, 'Arial')
                                GUICtrlSetFont($Input2, 10, 400, 0, 'Arial')
                        Case $bt2
                                _GUICtrlEdit_SetPasswordChar($Input1, "*") ; 更改密码字符为 $
                                GUICtrlSetData($Input1, GUICtrlRead($Input1))
                                GUICtrlSetFont($Input1, 14, 400);, 0, 'Arial')
                                _GUICtrlEdit_SetPasswordChar($Input2, "*") ; 更改密码字符为 $
                                GUICtrlSetData($Input2, GUICtrlRead($Input2))
                                GUICtrlSetFont($Input2, 14, 400);, 0, 'Arial')
                        Case $GUI_EVENT_CLOSE
                                ExitLoop
                EndSwitch
        WEnd
EndFunc   ;==>Example

anythinging 发表于 2020-4-15 17:43:58

chzj589 发表于 2020-4-15 16:07
查看:查看附录 GUI 控件样式表.
$ES_PASSWORD,   0x0020,   输入编辑控件的每个字符显示为星号 (*).
...

对,对,就是在程序运行过程中,想把那个输入框变成输入星号或变成正常,都无法实现。

anythinging 发表于 2020-4-16 09:45:04

zghwelcome 发表于 2020-4-15 18:43

#include
#include


高,实在是高!
页: [1]
查看完整版本: [已解决]关于将密码框恢复显示