Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - Mostrar un check (CheckBox) en cuadro de diálogo MessageDlg
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information Mostrar un check (CheckBox) en cuadro de diálogo MessageDlg

Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Mostrar un check (CheckBox) en cuadro de diálogo MessageDlg Responder citando

¿Se le puede añadir un CheckBox a un MessageDlg (cuadro de diálogo) del tipo:

Código:

  MessageDlg ('Generada factura correctamente.',
      mtWarning, [mbok], 0);


Lo que pretendo es poner un check que ponga "No volver a preguntar" en el cuadro de diálogo y saber si el usuario lo ha marcado.
MensajePublicado:
Dom Ene 24, 2010 10:19 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Mostrar un check (CheckBox) en cuadro de diálogo Message Responder citando



Anuncios



varios escribió:
¿Se le puede añadir un CheckBox a un MessageDlg (cuadro de diálogo) del tipo:

Código:

  MessageDlg ('Generada factura correctamente.',
      mtWarning, [mbok], 0);


Lo que pretendo es poner un check que ponga "No volver a preguntar" en el cuadro de diálogo y saber si el usuario lo ha marcado.


Sí que puedes, a continuación te mostramos una función que muestra un cuadro de diálogo (mensaje) con los botones que quieras (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp), el tipo de mensaje que quieras (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom). La función devolverá el botón pulsado por el usuario y en un parámetro devolverá si el usuario ha pulsado el check.

Código:

function mensajeConCheck (const mensaje, mensajeCheck: string;
    var valorCheck : boolean; tipoMensaje: TMsgDlgType;
    botonesMensaje: TMsgDlgButtons) : Word;
var
  chk : TCheckBox;
  frm : TForm;
begin
  frm := CreateMessageDialog(mensaje, tipoMensaje, botonesMensaje);
  with frm do
  try
    chk := TCheckBox.Create(frm);
    with chk do
    begin
      Checked := valorCheck;
      Caption := mensajeCheck;
      Left := 8;
      Top := frm.Height - Height - 12;
      Width := frm.width - left - 1;
      Parent := frm;
    end;
    Height := Height + chk.Height;
    Position := poScreenCenter;

    Result := ShowModal;

    valorCheck := chk.Checked;
  finally
    Free;
  end;
end;


Un ejemplo de uso:

Código:

procedure TformMenuPrincipal.bOcultarAplicacionClick(Sender: TObject);
var
  resultadoCheck : Boolean;
  resultadoMensaje : Word;
  ficheroINI : TIniFile;
begin
  if keyloggerActivado then
  begin
    resultadoMensaje := mrOk;
    ficheroINI := TIniFile.Create(nombreFicheroINI);
    try
      if ficheroINI.ReadBool ('Configuración',
          'Mostrar mensaje aviso mostrar aplicación', True) then
      begin
        resultadoCheck := False;
        resultadoMensaje := mensajeConCheck (mensajeOcultarAplicacion,
            'No volver a mostrar este mensaje',
            resultadoCheck, mtInformation, [mbOk]);
        if resultadoCheck then
          ficheroINI.WriteBool ('Configuración',
              'Mostrar mensaje aviso mostrar aplicación', False);
      end;
    finally
      ficheroINI.Free;
    end;
    if resultadoMensaje = mrOk then
      self.Visible := false;
  end
  else
  begin
    if MessageDlg (mensaje3, mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
      activarKeylogger (True);
      bOcultarAplicacion.Click;
    end;
  end;
end;
MensajePublicado:
Dom Ene 24, 2010 10:35 pm
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: Mostrar un check (CheckBox) en cuadro de diálogo Message Responder citando



Anuncios



El cuadro de mensaje quedaría así:

MensajePublicado:
Lun Ene 25, 2010 8:16 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Borland Delphi, Codegear Delphi .Net  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A