[MFC] CEdit, 패스워드 입력 만들기 – SetPasswordChar

사용자에게 문자열을 입력 받을 때 Edit 컨트롤은 텍스트를 표시합니다.
하지만 비밀번호 입력처럼 사용자에게 표시하지 말아야 할 경우도 있습니다. 이 경우 아래와 같이 입력되면 안됩니다.

이 경우 CEdit의 SetPasswordCharGetPasswordChar 함수를 사용하면 문자열을 안보이게 할 수 있습니다.
패스워드 모드로 변경하려면 CEdit 리소스에 암호 속성을 TRUE로 변경합니다.

이 경우 문자열 입력 시 패스워드 처리를 합니다.

패스워드 모드를 해제하고 싶으면 SetPasswordChar 함수에 NULL을 표시하면 됩니다.

if ( m_bFlag == TRUE )
	m_edPassword.SetPasswordChar( NULL ); // 표시
else
	m_edPassword.SetPasswordChar( m_tzPasswordChar ); // 암호 표시
m_edPassword.RedrawWindow();

다시 패스워드 모드로 변경하려면 미리 GetPasswordChar를 이용하여 패스워드 캐릭터를 받은 뒤, SetPasswordChar 인자로 넣어줍니다.

m_tzPasswordChar = m_edPassword.GetPasswordChar();
// ...
m_edPassword.SetPasswordChar( m_tzPasswordChar ); // 암호 표시