Ver Mensaje Individual
  #61  
Antiguo 28-02-2015
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 23
José Luis Garcí Va camino a la fama
En nuestro menú para que funcione la petición de clave y no muestre los números que estamos metiendo tenemos que hacer lo siguiente, pongo el código tal cual lo baje

Código Delphi [-]
Const
  InputBoxMessage = WM_USER + 200;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage;
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.InputBoxSetPasswordChar(var Msg: TMessage);
var
  hInputForm, hEdit: HWND;
begin
  hInputForm := Screen.Forms[0].Handle;
  if (hInputForm <> 0) then
  begin
    hEdit := FindWindowEx(hInputForm, 0, 'TEdit', nil);
    SendMessage(hEdit, EM_SETPASSWORDCHAR, Ord('*'), 0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  InputString: string;
begin
  PostMessage(Handle, InputBoxMessage, 0, 0);                             
  InputString := InputBox('Senha', 'Digite a senha', '');
end;

Esto fue bajado de http://www.planetadelphi.com.br/dica...rd-no-inputbox

Intentare explicarlo por encima


Justo despues de nuestro USES y antes del TYPE al principio de la unidad añadimos

Código Delphi [-]
 const    // InputBoxMessage = WM_USER + 200;    //Para imputboxt con password chard

En el Type en su parte private la lamada del procedimiento

Código Delphi [-]
 procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage;

Es importante la parte de message InputBoxMessage;, ya que si no la añadimos funcionara, pero no nos ocultara los dígitos por asteriscos

Y luego las dos siguientes lineas

Código Delphi [-]
 PostMessage(Handle, InputBoxMessage, 0, 0);    //Para imputboxt con password chard
 if InputBox('Comprobando seguridad', 'Por favor introduzca su clave de usuario', '')  = VarClaveUSusario then

Yo lo he usado en este ejemplo en un If then, pero podira usarse como respuesta a una variable en mi caso está es en el ejemplo VarClaveUSusario
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita