Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-11-2013
F3niX F3niX is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 26
Poder: 0
F3niX Va por buen camino
MDI Lazarus en Windows

Buenas soy nuevo por acá, un placer estar con ustedes, tengo una duda y es que estoy creando una pequeña aplicación de facturación en Lazarus bajo plataforma linux, y hasta aca todo perfecto pero al momento de Compilar y ejecutar en windows los mdi no me funcionan. Espero que no sea una burrada de mi parte, jaja.

PD : Soy novato en FPC/Lazarus/Delphi, programe en Turbo Pascal ya hace rato y sobre todo cosas sencillas. Mas que todo me muevo en Python + QT, pero me gusta cambiar de lenguaje entre proyectos para no encadenarme a ningunos, razon por la cual decidi probar el RAD lazarus.

Saludos y de ante mano muchas gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 12-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola F3niX y bienvenido a Club Delphi

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Según tengo entendido, la interface MDI aún no está implementada en Lazarus, pero podes usar el componente MultiDoc para simular el comportamiento.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 12-11-2013
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Hola F3nix.

Como bien dice ecfisa, hasta donde yo conozco no existe MDI en lazarus ya que no es algo multiplataforma.
__________________
http://www.gestionportable.com
Responder Con Cita
  #4  
Antiguo 13-11-2013
F3niX F3niX is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 26
Poder: 0
F3niX Va por buen camino
Buenas.

Buenas amigo, gracias por la bienvenida enseguida leo la guía de estilos. Aparte no es por decir lo contrario pero si tenemos MDI en lazarus, mas me parece que no esta implementada para windows les anexo imagenes que lo comprueban.

En la primera imagen adjunta podemos observar el formulario MDI, y en la segunda la propiedad la propiedad "Form Style" en fsMdiChild también por supuesto nos da la opción fsMdiForm. En Linux funciona perfectamente, pero en windows no.

Saludos y gracias por sus respuestas.
Imágenes Adjuntas
Tipo de Archivo: jpg Captura de pantalla de 2013-11-12 22:11:42.jpg (19,8 KB, 41 visitas)
Tipo de Archivo: jpg Captura de pantalla de 2013-11-12 22:11:58.jpg (19,8 KB, 32 visitas)
Responder Con Cita
  #5  
Antiguo 13-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola F3niX.

Si, dese el inspector de objectos en la propiedad FormStyle figuran las opciónes, pero en Windows no funcionan. Lo leí en varios artículos y foros, te adjunto dos de ejemplo:Pero no quería quedarme sólo con lo leído, así que descargué la última versión de Lazarus y personalmente pude comprobar que no funciona sobre Windows.

Por hacer una burda analogía, en Delphi encontramos algo similar con la propiedad Font.Color de un TButton, la propiedad se visualiza en el inspector de objetos pero no aplica.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 14-11-2013
F3niX F3niX is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 26
Poder: 0
F3niX Va por buen camino
Gracias.

Gracias amigo ya lo había leido,solo quize informar que por lo menos para linux si esta disponible, pero en windows probe compilando con WinApi, Qt, Gtk, y nada dicen que todavía no se ha implementado Qt completamente en windows.

Saludos.
Responder Con Cita
  #7  
Antiguo 29-11-2013
pelecho pelecho is offline
Registrado
 
Registrado: ago 2010
Ubicación: Chaco Paraguay
Posts: 9
Poder: 0
pelecho Va por buen camino
MDI Lazarus en Windows

Hola a todos.
No se si les servira, pero de todos modos lo quiero compartir con Ustedes.

Existe una forma de disimular MDI, colocando por ejemplo en el formulario principal un TPageControl, añadiendo las siguientes rutinas en el formulario:
Código Delphi [-]
function TfrmPrincipal.AbaExiste(NomeAba: string): Boolean;
var
  i: Integer;
  Aba: TTabSheet;
begin
  Result := False;
  for i := 0 to PageControl1.PageCount - 1 do begin
    if PageControl1.Pages[i].Caption = NomeAba then begin
      Aba := PageControl1.Pages[i];
      PageControl1.ActivePage := Aba;
      Result := True;
      break;
    end;
  end;
end;

procedure TfrmPrincipal.CriarAba(clsForm: TForm; Index: Integer);
var
  TabSheet: TTabSheet;
  Form: TForm;
begin
  TabSheet := TTabSheet.Create(Self);
  Form := clsForm;
  if AbaExiste(Form.Caption) then
    Exit;
  with TabSheet do begin
    PageControl := PageControl1;
    Caption := Form.Caption;
    ImageIndex := Index;
  end;
  with Form do begin
    Align := alClient;
    BorderStyle := bsNone;
    Parent := TabSheet;
    Show;
  end;
  PageControl1.ActivePage := TabSheet;
  PageControl1.Visible := True;
end;

procedure TfrmPrincipal.FecharAba(NomeAba: string);
var
  i: integer;
  Aba: TTabSheet;
begin
  for i := 0 to PageControl1.PageCount - 1 do
  begin
    if PageControl1.Pages[i].Caption = NomeAba then
    begin
      Aba := PageControl1.Pages[i];
      Aba.Destroy;
      PageControl1.ActivePageIndex := 0;
//      PageControl1.Pages[i].Destroy;
      break;
    end;
  end;
end;

Para abrir la ventana dentro del TPagecontrol, solo deben colocar la siguiente sentencia:
Código Delphi [-]
CriarAba(frmClientes, 1);

Y para cerrar la ventana, en el boton con el que cierran la ventana:
Código Delphi [-]
    frmPrincipal.FecharAba(frmClientes.Caption);

Para que no se confundan con los X en la parte superior derecha de la ventana, deben agregar alguito mas de codigo. Sino, cierran la ventana principal y con eso salen del sistema.

En el formulario principal (en el OnCloseQuery):
Obs: los parametros de PChar() los declare en constantes, igual que ultimo parametro del mensaje. Aqui los puse para que no les confunda.
Código Delphi [-]
   CanClose := Application.MessageBox(PChar('¿Realmente desea salir del  programa?'), PChar(), MB_YESNO + MB_ICONWARNING +  MB_DEFBUTTON2)=ID_YES;

  if(CanClose)then
    Application.Terminate
  else
    Exit;

En la ventana que se abre dentro del TPageControl deben colocar siguiente codigo:
Código Delphi [-]
procedure frmClientes.FormClose(Sender: TObject; var CloseAction: TCloseAction
  );
var
  b: Boolean;
begin
  b := True;
  frmPrincipal.OnCloseQuery(frmPrincipal, b);

  CloseAction := caFree;
end;

Y eso es todo. Funciona bajo Windows y tambien lo probe bajo Linux Mint 15 y funciona de maravilla.

Espero que les sirve.

Saludos
Responder Con Cita
  #8  
Antiguo 04-03-2014
F3niX F3niX is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 26
Poder: 0
F3niX Va por buen camino
Probare esto, saludos.
Responder Con Cita
Respuesta



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
codigo de lazarus windows a lazarus linux anubis Lazarus, FreePascal, Kylix, etc. 5 20-04-2013 21:33:55
Delphi/Lazarus en pendrive para Windows o Linux. Parche Varios 6 16-09-2008 10:45:52
Compilar proyectos Delphi en Lazarus (windows) gallipi Lazarus, FreePascal, Kylix, etc. 5 21-01-2008 16:58:02
Migrar Aplicacion Lazarus De Ubuntu A Windows volv87 Lazarus, FreePascal, Kylix, etc. 4 26-07-2007 08:03:07
[Lazarus] GTK+-devel en SUSE. problema instalar lazarus de esa libreria. sakuragi Lazarus, FreePascal, Kylix, etc. 3 28-09-2006 03:31:09


La franja horaria es GMT +2. Ahora son las 20:28:04.


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