Barra de Tarefas

11/04/2006

Como faço para quando abrir um form ele abrir na barra de tarefas como no msn, quando abre uma janela de chat??


Rudá

Respostas

12/04/2006

Paulocesar1301

Se for na Tray... a Suite de Componentes JVCL tem um ótimo... que por sinal é o que eu uso :wink:


Responder Citar

12/04/2006

Rudá

É barra de tarefas, quando inicio qualquer programa ele aparece na barra de tarefas o programa(não é o trayicon), eu quero fazer igual ao MSN, que quando abrirmos uma nova janela para conversar ele aparece como se fosse um novo programa na barra de tarefas entendeu???


Responder Citar

12/04/2006

Paulocesar1301

Você pode fazer um programinha a parte para receber e/ou enviar as mensagens e vai abrí-lo sem pre que o ´usuário X´ encaminhar uma mensagem... e, obviamente, testará se a janela com o nome ´conversando com o usuário X´ existe, se sim você pega apenas o handle da janela, do componente recebedor de mensagens e inclui o texto recebido, se não... passe como parâmetro para o programa ´nome do usuário´ e ´mensagem´. Não esqueça de criar um ´parâmetro testador´
que só deixará que o programa seja aberto se o mesmo existir:

ShellExecute(PChar(´<caminho>\seuprograma.exe´), nil, PChar(´ testador ´ + UsuarioQueEnviou + ´ ´ + Mensagem))


OBS.: Não esqueça de tratar a variável string ´mensagem´, pois parâmetros com espaços podem gerar problemas.

É bem simples e vai abrir uma janela para cada usuário que conversar com você... obvio tb que, como no MSN, é preciso ter um sistema mãe que verificará o recebimento/envio dessas mensagens.

Uso isso hoje por aqui e funciona blz.

Abs e Bons Códigos :wink:


Responder Citar

12/04/2006

Rudá

Eu vou ter que criar um programa para poder fazer uma janela para a conversar??

Não tem como fazer de outro jeito não??


Responder Citar

12/04/2006

Paulocesar1301

... no meu caso ficou muito mais simples criar outro... e mais rápido também (menos linhas de código e tal)... mas se vc preferir, pode usar a idéia de um outro programa e encapsular um um sistema só... criando um outro form e passando as mensagens como parâmetro... funciona igual, o único detalhe é que quando fores atualizar qualquer coisa no sistema... terá que atualizar tudo... por isso eu prefiro a modularização.


Responder Citar

12/04/2006

Rudá

O meu problema é que precisso que apareça na barra de tarefas como outro programa.

Como faço isso?


Responder Citar

13/04/2006

Rudá

UP!


Responder Citar

23/04/2006

Rudá

Achei esse código e funcionou perfeitamente

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle:= Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent:= GetDesktopwindow;
end;

O problema agora é o icone.

Eu coloco o icone na proprieda do form, só que na hora que eu dou um alt tab aparece um icone todo distorcido, ele aumenta de 16x16 para 32x32, só que existe no icone o 32x32 e não deveria acontecer isso, como posso resolver??


Responder Citar