Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

S4ndr0_soad

Tela de mensagem

Recommended Posts

bom dia,eu personalizei uma tela de mensagem usando CreateMessageDialog (com ajuda de um tópico aqui do forum), porém preciso que o ícone de fechar (o |X| ) fique desabilitado como acontece com o Application.MessageBox. Alguem tem alguma idéia de como arrumar isso? eu estou procurando aqui mais nao to conseguindo...desde já agradeço a atenção de todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim, me recordo deste tópico, se não me engano eu lhe ajudei...Para desabilitar, basta passar o seguinte:

caixaMsg.BorderIcons:=[];
ja tinha tentado isso, não dá tava tentando isso:
caixaMsg.BorderStyle := bsToolWindow;
ficaria bom, mas tambem não dá...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou postar como ficou a função depois que eu coloquei do jeito que eu queria, a função cria até 3 botões com os nomes que você éspecificar, e retorna o nome do botão que foi clicado... ficou assim:

function TForm1.Mensagem(Msg: String; Nomes: array of string): String;var  Botoes: TMsgDlgButtons;  Tipo: TMsgDlgType;  tela: TForm;  valor,qtd: Integer;begin  qtd := High(Nomes) + 1;  Tipo := mtConfirmation;  if (qtd = 1) then begin	Botoes := [mbYes];	tela := CreateMessageDialog(Msg,Tipo,Botoes);	TButton(tela.FindComponent('Yes')).Caption := Nomes[0];  end else if (qtd = 2) then begin	Botoes := [mbYes,mbNo];	tela := CreateMessageDialog(Msg,Tipo,Botoes);	TButton(tela.FindComponent('Yes')).Caption := Nomes[0];	TButton(tela.FindComponent('No')).Caption := Nomes[1];  end else begin	Botoes := [mbYes,mbNo,mbIgnore];	tela := CreateMessageDialog(Msg,Tipo,Botoes);	TButton(tela.FindComponent('Yes')).Caption := Nomes[0];	TButton(tela.FindComponent('No')).Caption := Nomes[1];	TButton(tela.FindComponent('Ignore')).Caption := Nomes[2];  end;  tela.Caption := 'Confirmação';  valor := tela.ShowModal;  tela.Position := poScreenCenter;  tela.BorderIcons := [];  if (valor = 6) then result := Nomes[0]  else if (valor = 7) then result := Nomes[1]  else if (valor = 5) then result := Nomes[2]  tela.Free;end;

ex.: eu chamo ela com Mensagem('exemplo',[1,2,3]);

 

só explicando pq do ignore, antes eu usava o Cancel mas se voce clicasse no |X| ele jogava o valor do Cancel aí eu mudei...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhando seu fonte encontrei o problema no seguinte bloco:

 

tela.Caption := 'Confirmação';  valor := tela.ShowModal;  tela.Position := poScreenCenter;  tela.BorderIcons := [];

Note que você chamou o ShowModal antes da atribuição do parâmetro, tente da seguinte forma:

 

tela.Caption := 'Confirmação';  tela.Position := poScreenCenter;  tela.BorderIcons := [];  valor := tela.ShowModal;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.