DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como abrir uma janela de lembrete como o msn ou skype?

Esta dica mostra como fazer o efeito de lembrete em um formulário,
você pode modificar este código para criar o seu lembrete.
É o efeito popup.

Crie uma nova aplicação, adicione um botão e no evento OnClick deixe
conforme o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  fAlertaMsn: TForm;  // <- Aqui você pode definir um form pernolanizado.
  BarraIniciar: HWND; { Barra Iniciar }
  tmAltura: Integer;
  tmRect: TRect;
  xTop: Integer;
  xIniTop: Integer;
begin
  // localiza o Handle da janela iniciar
  BarraIniciar := FindWindow('Shell_TrayWnd', nil);
 
  // Pega o "retângulo" que envolve a barra e sua altura
  GetWindowRect(BarraIniciar, tmRect);
 
  tmAltura := tmRect.Bottom - tmRect.Top;
  fAlertaMsn := TForm.Create(Self);
 
  with fAlertaMsn do
  begin
    Left := Screen.Width - ClientWidth;
    if tmRect.Top = -2 then
      tmAltura := 30;
 
    // Pega o top final
    xTop := Screen.Height - ClientHeight - tmAltura;
 
    // Pega o top inicial
    xIniTop := Screen.Height + ClientHeight + tmAltura;
    Top := xIniTop;
 
    for I := xIniTop downto xTop do
    begin
      Top := Top - 1;
      Show;
      Update;
      Application.ProcessMessages;
      Sleep(1);
    end;
 
    Sleep(2000);
 
    for I := xTop to xIniTop do
    begin
      Top := Top + 1;
      Show;
      Update;
      Application.ProcessMessages;
      Sleep(1);
    end;
 
    Close;
    FreeAndNil(fAlertaMsn);
  end;
end;

Ao clicar no botão, você verá uma janela abrindo um popup no canto inferior direito da tela.

Facebook Comments Box
  • InfusTec
  • 5.272 views
  • 3 comentários
  • 21 de abril de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

3 respostas para “Como abrir uma janela de lembrete como o msn ou skype?”

  1. michael disse:

    Eu tenho um Formulario personalizado chamado ‘AVISO’ e quero que ele apareça no lugar da janela vazia, tentei alterar as linhas da forma que imaginei que fosse possível, e ela até aparece mas em seguida da um erro e logo fecha, como seria a forma correta de chamar um form personalizado com esse código ?

    fAlertaMsn: TForm; // <- Aqui você pode definir um form pernolanizado.
    se alterar TForm para Aviso da erro

    se eu alterar aqui

    fAlertaMsn := TForm.Create(Self);

    fAlertaMsn := AVISO; APARECE UMA VEZ MAS NA SEGUINTE DA ERRO.
    SE puder me ajudar ficaria muito agradecido , gostei muito do codigo quero usa-lo na minha aplicação, desde já agradeço. e ótimo site, encontro tudo que quero aqui.

  2. alan saouza disse:

    Como eu faria para colocar um formulário personalizado neste código, já tentei de algumas formas e não consegui.

  3. Administrador disse:

    Para usar um form seu, troque nestes lugares:
    fAlertaMsn: TSeuForm;

    fAlertaMsn := TSeuForm.Create(Self);

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados