Difference between revisions of "MultiDoc/pt"
Line 24: | Line 24: | ||
===Download=== | ===Download=== | ||
− | O componente e um programa de demonstração pode ser encontrado no [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=176905 Lazarus-CCR sourceforge site]. | + | O componente na versão 0.1 e 0.2 e um programa de demonstração pode ser encontrado no [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=176905 Lazarus-CCR sourceforge site]. |
+ | |||
+ | O componente na versão 0.3 e 0.3.1 pode ser encontrado [http://br.geocities.com/hipernetjr/lmdi/index.html aqui]. | ||
+ | |||
+ | Em breve serão juntados os pacotes MultiDoc e [[LMDI]] e estarão disponíveis no SourceForge.net | ||
===Registro de Mudanças=== | ===Registro de Mudanças=== |
Latest revision as of 21:58, 1 January 2008
│
Deutsch (de) │
English (en) │
español (es) │
português (pt) │
Sobre
MultiDoc é um componente Lazarus para substituir a interface padrão MDI.
Este componente permite escrever aplicação pseudo-MDI com Lazarus. Ele não é um implementação real da interface MDI mas ele da à sua aplicação a capacidade de usar redimensionáveis sub-form.
Há dois componentes:
- TMultiDoc : o formulário principal the main form docking area.
- TChildDoc : o contâiner filho com borda redimensionável e botão.
Eu o tabalhei com um software gráfico em mente mas ele esta provavelmente util para outras faixas de aplicações.
Screen Shot
Autor
Licença
LGPL Modificada, veja readme.txt
Download
O componente na versão 0.1 e 0.2 e um programa de demonstração pode ser encontrado no Lazarus-CCR sourceforge site.
O componente na versão 0.3 e 0.3.1 pode ser encontrado aqui.
Em breve serão juntados os pacotes MultiDoc e LMDI e estarão disponíveis no SourceForge.net
Registro de Mudanças
- Versão 0.3.1 2008/01/01 Arrumado o seguinte:
- Algumas propriedades foram movidas para a seção public, para evitar exceções em tempo de design
- Versão 0.3 2007/12/31 Arrumado o seguinte:
- Essa versão foi desenvolvida por Júnior Gonçalves e depende do pacote LMDI
- Através de {$IFDEF}'s o componente compila Lazarus/Delphi sem modificações
- Ótima movimentação. Agora o mouse não "escapa" enquanto o cursor é arrastado (Testado em GTK2 (Windows) e Windows XP)
- ChildDoc é agora derivado de TFormPanel (veja a suite LMDI)
- Não é mais necessário código em cada componente para focar a janela-filha
- É possível trocar o "skin" da barra de títulos, de acordo com o SO (veja o componente TTitleBar)
- Versão 0.2 2007/01/06 Arrumado o seguinte:
- Propriedade BorderWidth property não trabalha
- Ordenação dos botões erradas
- Centraliza o cursor para a barra de títulos quando panel
- Compatibilidae com Gtk2 e FPC 2.1.1
- Quebra quando fechar uma janela filha quando fecha usando o botão close
- Mudada a licença para LGPL modificada
- Versão 0.1 2006/01/20 Primeiro lançamento beta.
Dependências / Requerimentos de Sistema
Este componente é exclusivamente derivade de um componente padrão de nível mais alto (TPanel, TCustomSplitter, TSpeedButton). Ele deve funcionar em todas as plataformas Lazarus sem modificação.
Testado em Linux e Windows.
Notes
You are not limited to show the docking area in the full main form. You can place the TMultiDoc anywhere you want or use multiple one! A combination with a TNotebook may give something similar to a multi-desktop.
Instalação
- Compile e instale multidocpackage.lpk
- Abra o exemplo demo/demomultidoc.lpi
Este exemplo pode ser usado como um esqueleto para uma nova aplicação.
Utilização
Em tempo de design:
- No formulário principal posicione um TMultiDoc.
- Crie um formulário filho com um TPanel principal.
- Jogue todos os objetos que você precisa para o panel filho, escreva o evento, etc...
- Não conte com algum evento TForm porque este formulário nunca será mostrado.
Em run time:
- Crie um novo child/filho de TMultiDoc.NewChild
- Crie um formulário filho com o novo childdoc como proprietário (owner).
- Atribua ao painel principal a propriedade Dockedpanel.
Converter um aplicação MDI Delphi
Converter uma aplicação de MDI é simplificado pela disponibilidade do mesmo componente para Delphi e Kylix.
Converta primeiro sua aplicação para MultiDoc no Delphi, então converta para Lazarus. Isto requer algun trabalho mas comparado com a vantagem de você evitar a feia borda XP sobre seus formulários filhos.
Substitua o função padrão MDI como a seguinte:
MDIChildCount -> MultiDoc1.ChildCount ActiveMdiChild -> MultiDoc1.ActiveObject ou MultiDoc1.ActiveChild MDIChildren[i] -> MultiDoc1.Childs[i].DockedObject ou MultiDoc1.Childs[i]
O Delphi componente está incluso no pacote. Extraia multidoc-delphi.zip e instale MultiDocD6.dpk ou MultiDocK3.dpk