Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Delphi para la web
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2013
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 484
Poder: 17
Neeruu Va por buen camino
Cool ShowModal Unigui

Hola a todos...

Necesito encontrar la forma de emular el ShowModal en las Unigui...
Se que hay un ejemplo que muestra como abrir mensajes y recuperar un respuesta... pero lo que yo necesito es mostrar un formulario y recuperar la respuesta de ese form cuando se cierra.

Al ejemplo no lo entiendo mucho, capaz si alguien con mas experiencia puede explicarme le encuentre la vuelta para lo que necesito.

Saludos.
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #2  
Antiguo 06-02-2013
cecam cecam is offline
Miembro
 
Registrado: may 2006
Ubicación: Girona
Posts: 47
Poder: 0
cecam Va por buen camino
Hoooola!!

Se trata de pasar un evento al form, de forma que, al cerrarse lo ejecute. Por ejemplo un form que no de a escoger "Sí" o "No"
Código:
type
  TModalCallBack = procedure(ModalResult: TModalResult) of object;

  TfrmUGSiNo = class(TUniForm)
    btnSi: TUniBitBtn;
    btnNo: TUniBitBtn;
    procedure si(Sender: TObject);
    procedure no(Sender: TObject);
    procedure UniFormClose(Sender: TObject; var Action: TCloseAction);
  private
  public
    ModalCallBack:TModalCallBack;
  end;

procedure TfrmUGSiNo.UniFormClose(Sender: TObject; var Action: TCloseAction);
begin
  if   Assigned(ModalCallBack)
  then ModalCallBack(ModalResult);
end;

procedure TfrmUGSiNo.si(Sender: TObject);
begin
  ModalResult:=mrYes;
end;

procedure TfrmUGSiNo.no(Sender: TObject);
begin
  ModalResult:=mrNo;
end;
Podrías tener una función similar a esta
Código:
procedure ugSiNo(const texte:string; callBack:TModalCallBack);
var
  f:TfrmUGSiNo;
begin
       f:=TfrmUGSiNo(MainModule.GetFormInstance(TfrmUGSiNo));
       f.ModalCallBack:=callBack;
       f.ShowModal;
end;
Y en tu formulario principal, la llamada sería algo así:
Código:
procedure TMainForm.UniSpeedButton5Click(Sender: TObject);
begin
  ugSiNo('Que escoges?',_sino);
end;

procedure TMainForm._sino(mr:TModalResult);
begin
  if   mr=mrYes
  then MessageDlg('Si', mtInformation, [])
  else
  if   mr=mrNo
  then MessageDlg('No', mtInformation, [])
  else MessageDlg('Cancela', mtInformation, []);
end;
Saludos!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Instalacion Unigui Skey Internet 0 09-12-2012 00:29:52
Que Paso con UniGui? Neeruu Delphi para la web 10 24-07-2012 23:43:25
UniGUI - Delphi XE passmaker Varios 5 03-02-2012 17:43:27
uniGUI cacu OOP 5 28-09-2011 16:42:06
UniGUI o ExtPascal lmir Internet 2 09-07-2011 01:33:04


La franja horaria es GMT +2. Ahora son las 23:28:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi