Sign in to follow this  
Followers 0
jlorenz1

How input control shows/hides dynamically passwords

10 posts in this topic

Hallo.

I've got following problem:

I want an input control, which changes dynamically the password plain or in ****

depending on the state of checkbox. How does it works? Thanks in advance

Ich habe folgendes Problem:

Ich möchte ein Inputsteuerelement, das dynmaisch entweder das Passwort blank oder in ***

je nach dem Status der Checkbox. Wie geht es nur? Vielen Dank im voraus!

Johannes from Germany

#include <GUIConstants.au3>

GUICreate("Hide/unhide password", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES

GUICtrlCreatelabel ( "Give me your password", 10, 5, 300, 20)

$checkbox = GUICtrlCreateCheckbox ( "Hide password", 10, 25, 300, 20)

GUICtrlSetState ( -1, $GUI_CHECKED)

$input = GUICtrlCreateInput ("Password", 10, 55, 300, 20)

$btn = GUICtrlCreateButton ("Ok", 250, 85, 60, 20)

GUISetState ()

$msg = 0

While $msg <> $GUI_EVENT_CLOSE

$msg = GUIGetMsg()

Select

Case $msg = $checkbox

$i = GUICtrlRead($checkbox)

Select

Case $i = 1

MsgBox(4096,"Does it works?","Password with *****",2)

GUICtrlSetState ($input, $ES_PASSWORD) ;)

Case $i = 4

MsgBox(4096,"Does it works?","Password plain",2)

GUICtrlSetState ($input, 0)

EndSelect

Case $msg = $btn

exitloop

Case else

EndSelect

Wend


Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post]

Share this post


Link to post
Share on other sites



the answer would be GUICtrlSetStyle() instead of GUICtrlSetState ()...

#include <GUIConstants.au3>

GUICreate("Hide/unhide password", 320, 120, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1, 0x00000018); WS_EX_ACCEPTFILES
GUICtrlCreateLabel("Give me your password", 10, 5, 300, 20)
$checkbox = GUICtrlCreateCheckbox("Hide password", 10, 25, 300, 20)
GUICtrlSetState(-1, $GUI_CHECKED)

$input = GUICtrlCreateInput("", 10, 55, 300, 20)
GUICtrlSetStyle($input, $ES_PASSWORD)
GUICtrlSetData( $input, "password")
$btn = GUICtrlCreateButton("Ok", 250, 85, 60, 20)

GUISetState()

$msg = 0
While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
WEnd

however according to help, some styles are not availables with GUICtrlSetStyle()

Remarks

Some styles cannot be changed dynamically, check MSDN documentation. $CBS_UPPERCASE combo style is one example

8)

NEWHeader1.png

Share this post


Link to post
Share on other sites

I tried it without sucess. If the checkbox is activated, the content of the input control should be expressed in *********. If the checkbox isn't activated, the content of the input control should be show blank.

Sorry, but with your script the content of the input control is always shown as blank/plain .... Johannes Perhaps you have another idea or works it only with the newest beta version?


Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post]

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

as stated above

the answer would be GUICtrlSetStyle() instead of GUICtrlSetState ()...

however according to help, some styles are not availables with GUICtrlSetStyle()

8)

Edited by Valuater

NEWHeader1.png

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

try this:

Const $EM_SETPASSWORDCHAR = 0xCC



        Case $msg = $checkbox
            $i = GUICtrlRead($checkbox)
            Select
                Case $i = 1
                    $Res = GUICtrlSendMsg($input, $EM_SETPASSWORDCHAR, 149, 0)
                Case $i = 4
                    $Res = GUICtrlSendMsg($input, $EM_SETPASSWORDCHAR, 0, 0)
            EndSelect
Edited by JdeB

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

that works.

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

i tried this without success.


Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post]

Share this post


Link to post
Share on other sites

post your new code

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

This works, but isn't a 100% solution. Johannes

#include <GUIConstants.au3>

Const $EM_SETPASSWORDCHAR = 0xCC

GUICreate("Show/hide password", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018)

GUICtrlCreatelabel ( "Give me your password", 10, 5, 300, 20)

$checkbox = GUICtrlCreateCheckbox ( "Hide password", 10, 25, 300, 20)

GUICtrlSetState ( -1, $GUI_CHECKED)

$inputWithAsterisk = GUICtrlCreateInput ("Password", 10, 55, 300, 20, $ES_PASSWORD)

$inputPasswordPlain = GUICtrlCreateInput ("Password", 10, 55, 300, 20)

GUICtrlSetState(-1, $GUI_HIDE)

$btn = GUICtrlCreateButton ("Ok", 250, 85, 60, 20)

GUISetState ()

$msg = 0

While $msg <> $GUI_EVENT_CLOSE

$msg = GUIGetMsg()

Select

Case $msg = $checkbox

$i = GUICtrlRead($checkbox)

Select

Case $i = 4

MsgBox(4096,'Action','Show password plain')

$sInputWAContent = GUICtrlRead($inputWithAsterisk)

GUICtrlSetData($inputPasswordPlain,$sInputWAContent)

GUICtrlSetState($inputWithAsterisk, $GUI_HIDE)

GUICtrlSetState($inputPasswordPlain, $GUI_SHOW)

Case $i = 1

MsgBox(4096,'Action','Hide password')

$sInputPPContent = GUICtrlRead($inputPasswordPlain)

GUICtrlSetData($inputWithAsterisk,$sInputPPContent)

GUICtrlSetState($inputPasswordPlain, $GUI_HIDE)

GUICtrlSetState($inputWithAsterisk, $GUI_SHOW)

EndSelect

Case $msg = $btn

exitloop

Case else

EndSelect

Wend


Johannes LorenzBensheim, Germanyjlorenz1@web.de[post="12602"]Highlightning AutoIt Syntax in Notepad++ - Just copy in your Profile/application data/notepad++[/post]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0