 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Mac21 Invitado
|
Publicado: Vie 17 Ene, 2003 11:49 am Asunto: Quiero que el texto de InputBox este en modo contraseña |
|
|
Necesito que el InputBox este en modo contraseña para que al escribir nadie vea la contraseña que se está introduciendo en ese momento.
Tiene que ser una tonteria, pero me hace mucha falta.
Espero que contesteis. |
|
| Volver arriba |
|
 |
Samuqpq Invitado
|
Publicado: Lun 20 Ene, 2003 7:06 pm Asunto: Vale, eso esta hecho... |
|
|
Si tu me consigues una rubia con falda corta y que no cague. Que tenga la espalda plana para ponerle el cubata encima mientras me la....... y que sepa cantar, por si algún dia tiene la boca libre.
Por cierto, me gustaría que aprendieras mas rápido pues dentro de poco te supero, guarrón! A ver si empiezas a hacer cosas mas serias, no esas guarradas que haces.
Je,je,je.....
Lo de la rubia va en serio. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 21 Ene, 2003 5:02 am Asunto: |
|
|
Hola Mac21:
Que yo sepa directamente no es posible, tendrías que crear un nuevo form para ello.
O bien si te resulta más comodo, usar esta función:
| Código: | // Se usa igual que InputBox
String EntrarClave(String titulo, String mensaje, String porDefecto)
{
TForm* form = CreateMessageDialog(mensaje, mtCustom,
TMsgDlgButtons() << mbOK << mbCancel);
// Obtenemos los punteros a los distintos controles
// creados por la función CreateMessageDialog
TButton* btnOk =
static_cast<TButton*>(form->FindComponent("Ok"));
TButton* btnCancel =
static_cast<TButton*>(form->FindComponent("Cancel"));
TLabel* lblMessage =
static_cast<TLabel*>(form->FindComponent("Message"));
form->Caption = titulo;
form->ClientWidth = 280;
// Traducimos el botón de cancelar
btnCancel->Caption = "Cancelar";
// Cambiamos la etiqueta de texto para
// que se comporte como en un InputBox
lblMessage->AutoSize = false;
lblMessage->WordWrap = true;
lblMessage->Width = form->ClientWidth - 20;
// Calculamos la altura necesaria para que quepa el texto
RECT rect = {0, 0, lblMessage->Width, 0};
lblMessage->Height = DrawText(form->Canvas->Handle,
mensaje.c_str(), mensaje.Length(), &rect,
DT_CALCRECT | DT_EXPANDTABS | DT_WORDBREAK);
// Creamos el edit donde introducir la clave
TEdit* edit = new TEdit(form);
edit->Left = lblMessage->Left;
edit->Top = lblMessage->BoundsRect.Bottom + 10;
edit->Width = lblMessage->Width;
edit->Parent = form;
edit->PasswordChar = '*';
edit->Text = porDefecto;
form->ActiveControl = edit;
// Centramos los botones y los bajamos un poco
btnOk->Left = (form->ClientWidth
- (btnOk->Width + btnCancel->Width + 8)) / 2;
btnOk->Top = edit->BoundsRect.Bottom + 16;
btnCancel->Top = btnOk->Top;
btnCancel->Left = btnOk->BoundsRect.Right + 8;
// Ajustamos la altura de la ventana
form->ClientHeight = lblMessage->Height
+ edit->Height + btnOk->Height + 48;
// Devolvemos el texto tecleado o bien si se
// pulsa cancelar el texto pasado 'porDefecto'
String sRet = porDefecto;
if (form->ShowModal() == mrOk)
sRet = edit->Text;
delete form;
return sRet;
} |
Saludos:
_Leo |
|
| Volver arriba |
|
 |
Manuel H.C. Lt JG


Registrado: 20 Ago 2002Mensajes: 61Ubicación: Madrid (España)
|
Publicado: Mar 15 Nov, 2005 7:42 pm Asunto: |
|
|
Saludos a todos,he modificado el codigo de _Leo y mi intencion es capturar cuando se oprima una tecla pero no me lo captura hasta que no he oprimido las tres,necesito una ayuda me he quedado atascado,un saludo.
Pd. aqui pongo el codigo con la modificacion...
| Código: |
String EntrarClave(String titulo, String mensaje, String porDefecto)
{
TForm* form = CreateMessageDialog(mensaje, mtCustom,
TMsgDlgButtons() << mbOK << mbCancel << mbYes);
// Obtenemos los punteros a los distintos controles
// creados por la función CreateMessageDialog
TButton* btnOk =
static_cast<TButton*>(form->FindComponent("Ok"));
TButton* btnCancel =
static_cast<TButton*>(form->FindComponent("Cancel"));
TButton* btnYes =
static_cast<TButton*>(form->FindComponent("Yes"));
TLabel* lblMessage =
static_cast<TLabel*>(form->FindComponent("Message"));
form->Caption = titulo;
form->ClientWidth = 280;
// Traducimos el botón de cancelar
btnCancel->Caption = "Cancelar";
btnYes->Caption="Borrar";
btnOk->Caption="Grabar";
// Cambiamos la etiqueta de texto para
// que se comporte como en un InputBox
lblMessage->AutoSize = false;
lblMessage->WordWrap = true;
lblMessage->Width = form->ClientWidth - 20;
// Calculamos la altura necesaria para que quepa el texto
RECT rect = {0, 0, lblMessage->Width, 0};
lblMessage->Height = DrawText(form->Canvas->Handle,
mensaje.c_str(), mensaje.Length(), &rect,
DT_CALCRECT | DT_EXPANDTABS | DT_WORDBREAK);
// Creamos el edit donde introducir la clave
TEdit* edit = new TEdit(form);
edit->Left = lblMessage->Left+150;
edit->Top = lblMessage->BoundsRect.Bottom + 10;
edit->Width = lblMessage->Width/2-20;
edit->Parent = form;
//edit->PasswordChar = '*';
//edit->Text = porDefecto;
// form->ActiveControl = edit;
TEdit* edit1 = new TEdit(form);
edit1->Left = lblMessage->Left;
edit1->Top = lblMessage->BoundsRect.Bottom + 10;
edit1->Width = lblMessage->Width/2-20;
edit1->Parent = form;
//edit->PasswordChar = '*';
//edit->Text = porDefecto;
form->ActiveControl = edit1;
// Centramos los botones y los bajamos un poco
btnOk->Left = (form->ClientWidth
- (btnOk->Width + btnCancel->Width + btnYes->Width + 8)) / 3;
btnOk->Top = edit->BoundsRect.Bottom + 16;
btnCancel->Top = btnOk->Top;
btnCancel->Left = btnOk->BoundsRect.Right + 20;
btnYes->Top = btnOk->Top;
btnYes->Left = btnCancel->BoundsRect.Right + 20;
// Ajustamos la altura de la ventana
form->ClientHeight = lblMessage->Height
+ edit->Height + btnOk->Height + 48;
// Devolvemos el texto tecleado o bien si se
// pulsa cancelar el texto pasado 'porDefecto'
String sRet = porDefecto;
if (form->ShowModal() == mrOk)
sRet = edit1->Text + "$" + edit->Text + "#6";
if (form->ShowModal()==mrYes)
sRet= "7";
if(form->ShowModal()==mrCancel)
sRet="2";
delete form;
return sRet;
}
|
|
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 15 Nov, 2005 8:27 pm Asunto: |
|
|
Hola Manuel H.C.:
Al usar "ShowModal()" lo que haces es que se muestre el Form y espere a que pulses un botón, y en tu código lo llames tres veces...
Cambia las siguientes líneas:
| Código: | // Devolvemos el texto tecleado o bien si se
// pulsa cancelar el texto pasado 'porDefecto'
String sRet = porDefecto;
if (form->ShowModal() == mrOk)
sRet = edit1->Text + "$" + edit->Text + "#6";
if (form->ShowModal()==mrYes)
sRet= "7";
if(form->ShowModal()==mrCancel)
sRet="2"; |
Por lo siguiente:
| Código: | String sRet = porDefecto;
// Usamos "ShowModal()" para mostrar el Form una sola
// vez y recogemos el resultado en "ModalResult"
form->ShowModal();
if (form->ModalResult == mrOk)
sRet = edit1->Text + "$" + edit->Text + "#6";
else if (form->ModalResult == mrYes)
sRet = "7";
else if (form->ModalResult == mrCancel)
sRet = "2"; |
Saludos. |
|
| Volver arriba |
|
 |
Manuel H.C. Lt JG


Registrado: 20 Ago 2002Mensajes: 61Ubicación: Madrid (España)
|
Publicado: Mie 16 Nov, 2005 5:39 pm Asunto: |
|
|
Ok _Leo ,muchas gracias apuntate otra,un saludote.  |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|