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;
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;
Publicado:
Dom Ene 24, 2010 10:35 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Mostrar un check (CheckBox) en cuadro de diálogo Message
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