Falei em meu primeiro post que em Delphi não dava para se fazer muita cois aque valesse a pena.
Continuo achando isso, mas apenas para não dizerem que sou preconceituoso, segue um código que cria uma janela de mensagem, para que não seja necessário utilizar o já famoso showmessage:
Classe da janela:
type
    TMsgwindow=class(TForm)
   private
       fBtnok:TButton;
      fLabelmessage:TLabel;
      fMessage:string;
      procedure Custombtnokclick(Sender:TObject);
   public
       procedure Create(sMessage:string);
end;
Implementação das funções:
procedure TMsgwindow.Create(sMessage: string);
begin
    fMessage:=sMessage;
   //Setando propriedades da janela
   Self.BorderStyle:=bsDialog;
   Self.Color:=clMoneyGreen;
   Self.Position:=poOwnerFormCenter;
   Self.Caption:='Mensagem';
   Self.ClientHeight:=100;
   Self.ClientWidth:=300;
   //Setando propriedades do botão
    fBtnok:=TButton.Create(Self);
   fBtnok.Parent:=self;
   fBtnok.Top:=50;
   fBtnok.Left:=120;
   fBtnok.Caption:='OK';
   fBtnok.OnClick:=Custombtnokclick;
   //Setando propriedades da label
   fLabelmessage:=TLabel.Create(Self);
   fLabelmessage.Parent:=Self;
   fLabelmessage.Alignment:=taCenter;
   fLabelmessage.Font.Size:=12;
   fLabelmessage.Font.Style:=[fsBold];
   fLabelmessage.Top:=20;
   fLabelmessage.Left:=40;
   fLabelmessage.Caption:=fMessage;
end;
procedure TMsgwindow.Custombtnokclick(Sender: TObject);
begin
    Self.ModalResult:=mrOk;
end;
Chamando a janela:
procedure Showmsg;
begin
    try
        msgwindow:=TMsgwindow.CreateNew(Application.owner);
       msgwindow.Create('Aviso');
       msgwindow.ShowModal;
   finally
       FreeAndNil(msgwindow);
   end;
end;
Quem diria.Delphi com classes! pois é...
É isso galera.Bons códigos ae!
sexta-feira, 19 de março de 2010
Assinar:
Postar comentários (Atom)

Não entendi... qual o problema com o ShowMessage?
ResponderExcluirE pq não só encapsular a API MessageBox do Windows em uma procedure? Daí, além de não ter o overhead de se instanciar um TForm, ela teria a aparência nativa do OS, fosse ele qual fosse (98, XP, Vista, 7...) e seria preciso apenas uma linha de código.
Delphi não é ruim não, Antonio... as pessoas que não se aprofundam muito nele. Pense nisso.
Abraços.
Obrigado pelo comentário Ricardo.
ResponderExcluirEssa classe de janela na verdade foi idéia de um colega meu qwue teve problemas com o showmessage e resolveu criar ela. Achei interessate a idéia de se ter um formulário sem dfm em Delphi e postei aqui.
Quanto ao fato das pessoas não se aprofundarem em Delphi, acho que é por causa da ferramenta desencorajar qualquer tentativa nesse sentido.
Abraços!