Editor de Forms, como o do Delphi, como fazer?

Delphi

03/09/2005

Olá amigos, sabe o editor de forms do delphi, será que teria como fazer um? nao tao sofisticado como o do delphi, mas parecido como o do XMaker, aquele aplicativo pra gerar aplicativos :D, na verdade eu queria mesmo era soh o editor de forms e tals... alguem sabe onde posso conseguir algo parecido?


Desde já agradeço


[]s


Titanius

Titanius

Curtidas 0

Respostas

Iniciante12345

Iniciante12345

03/09/2005

Eita. Bom. Primeiro crie um formulário (Barra de Componentes) com alguns botões. Dentre eles pode ser: Novo Button (BtNovo), Novo Label (LblNovo), Novo Edit (EdtNovo), enfim.

Aí já deixe criado o form que vai receber os componentes (Form).

Ao clicar no botão Novo Button (BtNovo) ele deve colocar um TButton no form que vai receber os componentes. Ao clicar o código será:

procedure TForm1.BtNovoOnClick(Sender : TObject); 
Var 
Button : TButton; 
begin 
Button := TButton.Create(Form); 
with Button do 
begin 
Parent := Form; 
height := 32; 
width := 128; 
caption := ´Button1!´; 
left := (Form.ClientWidth - width) div 2;
top := (Form.ClientHeight - height) div 2; 
end; 
end;



Ao clicar no botão Novo Label (BtLabel) ele deve colocar um TLabel no form que vai receber os componentes. Ao clicar o código será:

procedure TForm1.Button1Click(Sender: TObject);
Var
  NLabel : TLabel;
begin
  NLabel := TLabel.Create(Application);
  NLabel.Parent := Form;
  NLabel.Name := ´Label1´;
  NLabel.Left := 10;
  NLabel.Top := 10;
  NLabel.Font.Size := 20;
end; 



Ao clicar no botão Novo Label (BtLabel) ele deve colocar um TLabel no form que vai receber os componentes. Ao clicar o código será:

procedure TForm1.BtNovoOnClick(Sender : TObject); 
Var 
NLabel : TLabel;
begin 
NLabel := TLabel.Create(Form); 
with Label do 
begin 
Parent := Form; 
height := 32; 
width := 128; 
text := ´Label1!´; 
left := (Form.ClientWidth - width) div 2;
top := (Form.ClientHeight - height) div 2; 
end; 
end;



Ah; E assim por diante. Só descobrir as características dos componentes e ir trocando.

Bom. Talvez ainda dê alguns buqsinhos por causa que são forms distintos mas é só combinar eles. Mas testa lá.

Flwx.


GOSTEI 0
Titanius

Titanius

03/09/2005

valeu amigo, mas na verdade queria mesmo eh igual ao delphi, ou do Lazarus, que eu monto o form, e ele me gera os codigos do dfm, pra depois ser compilado... :oops:


[]s


GOSTEI 0
Iniciante12345

Iniciante12345

03/09/2005

Nossa... Amigo. Pelo que estou vendo, dá-se a entender que você queria criar uma ferramenta de programação, talvez como o Visual Kit5. Não é tão simples assim, conheça a interface inteira do Windows (digo, API do Windows e suas propriedades). Acredito que pra gerar código, você tenha que interpretar a linguagem de máquina, depois transformar em dfm. Bom. Não sei. Nunca fiz isso. Mas, boa sorte.


GOSTEI 0
Titanius

Titanius

03/09/2005

VisualKit? O que é isso? :D

Bem, na verdade, o dfm nada mais é que um arquivo texto, como o .pas, porém com os comandos proprios... do tipo

  object Shape1: TShape
    Left = 283
    Top = 272
    Width = 221
    Height = 95
    Pen.Style = psClear
  end
  object Label2: TLabel
    Left = 336
    Top = 295
    Width = 131
    Height = 13
    Caption = ´Gerador de Dicion´#225´rios´
    Color = clWhite
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = ´MS Sans Serif´
    Font.Style = [fsBold]
    ParentColor = False
    ParentFont = False
  end


O problema é mesmo na parte visual... como jogar esse codigo visual pro usuário...



[]s


GOSTEI 0
Massuda

Massuda

03/09/2005

Existe um componente comercial chamado [url=http://www.greatis.com/delphicb/formdes/index.html]Greatis Form Design[/url].

Você também pode dar uma olhada no artigo [url=http://www.thedelphimagazine.com/samples/1355/1355.htm]End-User Form Design[/url] da revista inglesa The Delphi Magazine.


GOSTEI 0
Titanius

Titanius

03/09/2005

Ae massuda, como sempre me salvando... esse componente é o bicho, pena que eh comercial (nem tudo na vidad eh free :D )... valeu, quanto ao artigo, era exatamente isso mesmo... vou dar uma lida nele... :D

valeu...



[]s


GOSTEI 0
POSTAR