Sign in Join
Wiki copytemporary

MultiDoc/pt: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11### Sobre
22
33MultiDoc é um componente Lazarus para substituir a interface padrão MDI.
44
55Este 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.
66
77Há dois componentes:
88
99- TMultiDoc : o formulário principal the main form docking area.
1010- TChildDoc : o contâiner filho com borda redimensionável e botão.
1111
1212Eu o tabalhei com um [software gráfico](/wiki-images/4/46/Media%3Amultidoc_skychart.jpg) em mente mas ele esta provavelmente util para outras faixas de aplicações.
1313
1414### Screen Shot
1515
1616![](/wiki-images/b/b6/Multidoc_demo.png)
1717
1818### Autor
1919
2020Patrick Chevalley
2121
2222### Licença
2323
2424LGPL Modificada, veja readme.txt
2525
2626### Download
2727
2828O componente na versão 0.1 e 0.2 e um programa de demonstração pode ser encontrado no [Lazarus-CCR sourceforge site](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=176905).
2929
3030O componente na versão 0.3 e 0.3.1 pode ser encontrado [aqui](http://br.geocities.com/hipernetjr/lmdi/index.html).
3131
3232Em breve serão juntados os pacotes MultiDoc e [[LMDI]] e estarão disponíveis no SourceForge.net
3333
3434### Registro de Mudanças
3535
3636- Versão 0.3.1 2008/01/01 Arrumado o seguinte:
3737 1. Algumas propriedades foram movidas para a seção public, para evitar exceções em tempo de design
3838- Versão 0.3 2007/12/31 Arrumado o seguinte:
3939 1. Essa versão foi desenvolvida por Júnior Gonçalves e depende do pacote [[LMDI]]
4040 2. Através de {\$IFDEF}'s o componente compila Lazarus/Delphi sem modificações
4141 3. Ótima movimentação. Agora o mouse não "escapa" enquanto o cursor é arrastado (Testado em GTK2 (Windows) e Windows XP)
4242 4. ChildDoc é agora derivado de TFormPanel (veja a suite [[LMDI]])
4343 5. Não é mais necessário código em cada componente para focar a janela-filha
4444 6. É possível trocar o "skin" da barra de títulos, de acordo com o SO (veja o componente TTitleBar)
4545- Versão 0.2 2007/01/06 Arrumado o seguinte:
4646 1. Propriedade BorderWidth property não trabalha
4747 2. Ordenação dos botões erradas
4848 3. Centraliza o cursor para a barra de títulos quando panel
4949 4. Compatibilidae com Gtk2 e FPC 2.1.1
5050 5. Quebra quando fechar uma janela filha quando fecha usando o botão close
5151 6. Mudada a licença para LGPL modificada
5252- Versão 0.1 2006/01/20 Primeiro lançamento beta.
5353
5454### Dependências / Requerimentos de Sistema
5555
5656Este 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.
5757
5858Testado em Linux e Windows.
5959
6060### Notes
6161
6262You 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.
6363
6464### Instalação
6565
6666- Compile e instale multidocpackage.lpk
6767- Abra o exemplo demo/demomultidoc.lpi
6868
6969Este exemplo pode ser usado como um esqueleto para uma nova aplicação.
7070
7171### Utilização
7272
7373Em tempo de design:
7474
7575- No formulário principal posicione um TMultiDoc.
7676- Crie um formulário filho com um TPanel principal.
7777- Jogue todos os objetos que você precisa para o panel filho, escreva o evento, etc...
7878- Não conte com algum evento TForm porque este formulário nunca será mostrado.
7979
8080Em run time:
8181
8282- Crie um novo child/filho de TMultiDoc.NewChild
8383- Crie um formulário filho com o novo childdoc como proprietário (owner).
8484- Atribua ao painel principal a propriedade Dockedpanel.
8585
8686### Converter um aplicação MDI Delphi
8787
8888Converter uma aplicação de MDI é simplificado pela disponibilidade do mesmo componente para Delphi e Kylix.
8989
9090Converta 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.
9191
9292Substitua o função padrão MDI como a seguinte:
9393
94-`  MDIChildCount   -> MultiDoc1.ChildCount`\
95-`  ActiveMdiChild  -> MultiDoc1.ActiveObject`\
96-`                  ou MultiDoc1.ActiveChild`\
97-`  MDIChildren[i]  -> MultiDoc1.Childs[i].DockedObject`\
98-`                  ou MultiDoc1.Childs[i]`\
94+```text
95+ MDIChildCount -> MultiDoc1.ChildCount
96+ ActiveMdiChild -> MultiDoc1.ActiveObject
97+ ou MultiDoc1.ActiveChild
98+ MDIChildren[i] -> MultiDoc1.Childs[i].DockedObject
99+ ou MultiDoc1.Childs[i]
100+```
99101
100102O Delphi componente está incluso no pacote. Extraia multidoc-delphi.zip e instale MultiDocD6.dpk ou MultiDocK3.dpk
101103
102104---
103105*From the Free Pascal wiki, page "MultiDoc/pt", as it stood on 2008-01-01 after a change by Junior, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history