Guest --Vinícius -- Postado Abril 16, 2008 Denunciar Share Postado Abril 16, 2008 Olá pessoal beleza?!Alguém sabe como desabilitar o botão "X" (fechar) do ShowMessage ou do MessageDlg?Eu acredito que isso é possível pois já vi alguns sistemas que esse botão fica desabilitado, mas até o momento ainda não consegui encontrar nada...Se alguém souber e puder me ajudar ficarei muito grato!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 16, 2008 Denunciar Share Postado Abril 16, 2008 Alguém sabe como desabilitar o botão "X" (fechar) do ShowMessage ou do MessageDlg?Voce pode alterar o arquivo dialogs.pas onde estão estas funçõesC:\Arquivos de programas\Borland\Delphi5\Source\Vcl\dialogs.pasou pode criar a sua propria janela de mensagem sem o botão fecharabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Vinícius -- Postado Abril 16, 2008 Denunciar Share Postado Abril 16, 2008 Agradeço pela atenção!Mas o que exatamente eu devo alterar no dialogs.pas para desabilitar o botão?Obrigado!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 17, 2008 Denunciar Share Postado Abril 17, 2008 Colega .. no momento estou com o tempo curto para poder te dar uma melhor ajuda... veja o codigo do arquivo e procure por algum comando de fechar a janela. quando puder te dou uma resposta melhor.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Abril 17, 2008 Denunciar Share Postado Abril 17, 2008 (editado) Alguém sabe como desabilitar o botão "X" (fechar) do ShowMessage ou do MessageDlg?Voce pode alterar o arquivo dialogs.pas onde estão estas funçõesC:\Arquivos de programas\Borland\Delphi5\Source\Vcl\dialogs.pasEsta opção modificará definitivamente e para todas as aplicações que você a utilizar. Lembrando, ainda, que apenas realizando a alteração em BorderIcons para remover a opção biSystemMenu não evitará que a janela seja fechada. Deverá ser monitorado o fechamento ou feito o bloqueio da combinação ALT+F4.O local a ser modificada a propriedade BorderIcons, possivelmente seja o mesmo do Delphi7: function CreateMessageDialogou pode criar a sua propria janela de mensagem sem o botão fecharEsta opção seria mais interessante. Em geral, apenas em diálogos de confirmação seria necessário que seu fechamento ocorresse pelo pressionamento de um botão. Mas, quando realmente necessário, ainda poderia ser contornado sem que se mexesse nos códigos fonte originais (o qual tenho aversão).Fica uma sugestão para você testar. É uma função em que definimos um parâmetro a mais do que comumente se usa na função MessageDlg.Faz-se necessário declara um novo tipo que será um conjunto que manterá os resultados possíveis e desejados.type TMsgDlgResults = set of byte; ... function ForcedMessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; DlgResults :TMsgDlgResults): Word; begin repeat Result := MessageDlg(Msg, DlgType, Buttons, HelpCtx); until Result in DlgResults; end; para usar basta acrescentar o último parâmetro em relação à função tradicionalmente utilizada: procedure TForm1.Button9Click(Sender: TObject); begin if ForcedMessageDlg('Mensagem', mtConfirmation, [mbYes, mbNo], 0, [mrYes, mrNo]) = mrYes then ShowMessage('Pressionado YES') else ShowMessage('Pressionado NO'); end;Abraços Editado Abril 18, 2008 por Micheus Acrescentado o exemplo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Vinícius --
Olá pessoal beleza?!
Alguém sabe como desabilitar o botão "X" (fechar) do ShowMessage ou do MessageDlg?
Eu acredito que isso é possível pois já vi alguns sistemas que esse botão fica desabilitado, mas até o momento ainda não consegui encontrar nada...
Se alguém souber e puder me ajudar ficarei muito grato!!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.