Mensagens Personalizadas
Olá
Tava querendo criar um form que funcionasse/substituisse o
ShowMessage, MessageBox e similares...
Só que... Personalizado.
Tipo assim:
No form eu teria:
1 panel1 superior com 1 image1 e um label1
1 panel2 central com 1 label2
1 panel3 inferior com (3 buttons -> btn1, btn2, btn3)
Dai que eu queria chamar esse form passando os parametros:
cor do panel1 superior (ex: clred)
figura que seria exIbida no image1 (ex: bmp-1, bmp-2, bmp-3, etc)
texto para o label1 (ex: ATENÇÃO)
A mensagem propriamente dita iria para o label2
(ex: ´Tal campo não está preenchido´)
E os captions para os botões,
sendo que ´captions em branco´´,
determinariam que os botões não seriam visíveis.
A chamada seria mais ou menos assim:
mostra_mensagem(clred, ´ATENÇÃO´, ´bmp-1´, ´Tal campo não está preenchido´, ´Continua´, ´´, ´Corrige´);
no caso acima o botão do meio não ficaria visível.
e de quebra que me retornasse qual botão foi clicado.
se 1 para btn1, se 2 para btn2 ou 3 para btn3.
Sheeeeeeeeeee....
Não tenho ideia de como fazer algo assim.
Podem me dar uma boa dica?
Talvez um exemplo (um source) similar para que eu analise e adapte a minha necessidade.
valeu gente.
User-BA
Tava querendo criar um form que funcionasse/substituisse o
ShowMessage, MessageBox e similares...
Só que... Personalizado.
Tipo assim:
No form eu teria:
1 panel1 superior com 1 image1 e um label1
1 panel2 central com 1 label2
1 panel3 inferior com (3 buttons -> btn1, btn2, btn3)
Dai que eu queria chamar esse form passando os parametros:
cor do panel1 superior (ex: clred)
figura que seria exIbida no image1 (ex: bmp-1, bmp-2, bmp-3, etc)
texto para o label1 (ex: ATENÇÃO)
A mensagem propriamente dita iria para o label2
(ex: ´Tal campo não está preenchido´)
E os captions para os botões,
sendo que ´captions em branco´´,
determinariam que os botões não seriam visíveis.
A chamada seria mais ou menos assim:
mostra_mensagem(clred, ´ATENÇÃO´, ´bmp-1´, ´Tal campo não está preenchido´, ´Continua´, ´´, ´Corrige´);
no caso acima o botão do meio não ficaria visível.
e de quebra que me retornasse qual botão foi clicado.
se 1 para btn1, se 2 para btn2 ou 3 para btn3.
Sheeeeeeeeeee....
Não tenho ideia de como fazer algo assim.
Podem me dar uma boa dica?
Talvez um exemplo (um source) similar para que eu analise e adapte a minha necessidade.
valeu gente.
User-BA
Userba
Curtidas 0
Respostas
Motta
31/08/2005
Se o form tem um padrão fixo , crie em tempo de desenho e o chame.
Se não crie os controles em tempo de execução, aqui no forum tem varios exemplos de como fazer isto.
Se não crie os controles em tempo de execução, aqui no forum tem varios exemplos de como fazer isto.
GOSTEI 0
Userba
31/08/2005
Se o form tem um padrão fixo , crie em tempo de desenho e o chame..
*** eu desenhei o form com os panels, images, labels, 3 buttons.
*** O que tá pegando é como chamar este form como se fosse uma função.
*** ou seja, já chamar ex: frm_mensagem.showmodal;
*** passando os parametros para os labels, buttons, etc,
*** e ao fechar que me retorne qual dos 3 botões foram fechados.
agradeço se me der uma força.
GOSTEI 0
Martins
31/08/2005
Olá amigo!!
tenta assim e depois poste aqui se funcionou ou se apresentou algum erro!
Não é uma prática que adotária pois estarei recriando algo q o Delphi pode fazer pra mim, mas como vc quer personalizar tudo bem, só acho q se vc não instanciar adequadamente, vc pode ter dor de cabeça depois!!!!
Espero q possa lhe ajudar!!!
Martins
tenta assim e depois poste aqui se funcionou ou se apresentou algum erro!
procedure Cria_msg(cor: TColor; tit:String; img: integer; msg: String; btn1, btn2, btn3: String);
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure Cria_msg(cor: TColor; tit:String; img: integer; msg: String; btn1, btn2, btn3: String);
begin
with Form2 do
try
Form2.Panel1.Color := Cor;
Form2.Label1.Caption := tit;
Form2.ImageList1.Draw(Image1.Canvas, 0, 0, img);
Form2.Label2.Caption := msg;
if btn1 = ´´ then
Form2.BitBtn1.Enabled := false
else
Form2.BitBtn1.Caption := btn1;
if btn2 = ´´ then
Form2.BitBtn2.Enabled := false
else
Form2.BitBtn2.Caption := btn2;
if btn3 = ´´ then
Form2.BitBtn3.Enabled := false
else
Form2.BitBtn3.Caption := btn3;
ShowModal;
finally
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Cria_msg(ClRed, ´Teste´, 0, ´Testando essa merda!!!´, ´&Ok´, ´´, ´´);
end;
Não é uma prática que adotária pois estarei recriando algo q o Delphi pode fazer pra mim, mas como vc quer personalizar tudo bem, só acho q se vc não instanciar adequadamente, vc pode ter dor de cabeça depois!!!!
Espero q possa lhe ajudar!!!
Martins
GOSTEI 0