Dois forms na barra de tarefas do windows

Delphi

29/08/2005

Minha dúvida é a seguinte: Tenho um programa com vários formulários. Muito bem, neste formulário principal abro outros formulários. Ok. Até aí tudo bem. O problema é que quando ele abre um segundo formulário, ambos aparecem na barra de tarefas do Windows, como se fossem dois programas abertos! Como faço para que apareça na barra de tarefas apenas o formulário principal? Um abraço!
Obs.: Não uso o CreateForm para criar os forms.


Davis_lima

Davis_lima

Curtidas 0

Respostas

Adriano Santos

Adriano Santos

29/08/2005

Como você chama o form?
Posta pra gente o método, a princípio não tem que acontecer isso.
A aplicação é MDI?


GOSTEI 0
Davis_lima

Davis_lima

29/08/2005

Adriano, meus forms são fsNormal e para chama-los uso
NomeForm.ShowModal;


GOSTEI 0
Adriano Santos

Adriano Santos

29/08/2005

Adriano, meus forms são fsNormal e para chama-los uso NomeForm.ShowModal;


Tô achando estranho, porque crio todos os meus programas assim e não acontece isso...que SO vc está testando? Qualquer SO acontece isso?


GOSTEI 0
Davis_lima

Davis_lima

29/08/2005

Adriano, qualquer um SO, uso o XP.


GOSTEI 0
Rjun

Rjun

29/08/2005

Você colocou algum código difente no seu programa? Aqui no forum tem um tópico mostrando como fazer isso, exibir os forms como se fossem aplicações na barra de tarefas.


GOSTEI 0
Massuda

Massuda

29/08/2005

Você colocou algum código difente no seu programa? Aqui no forum tem um tópico mostrando como fazer isso, exibir os forms como se fossem aplicações na barra de tarefas.
Sendo mais específico... seu form tem alguma procedure chamada CreateParams? O que você descreveu geralmente é feito sobrecarregando essa procedure.


GOSTEI 0
Davis_lima

Davis_lima

29/08/2005

RJun, não coloquei nenhum código fora do normal, inclusive sou programador das antigas, não uso nada mirabolante, nem componentes de terceiro, faço tudo na mão. realmente é muito estranho.


GOSTEI 0
Davis_lima

Davis_lima

29/08/2005

RJun, a única rotina que uso o CreateParamns é para fazer com que um listbox tenha a barra horizontal ativada, uso a sitaxe abaixo e funciona sem problemas.

TListHorz = class (TListbox)
private
protected
procedure CreateParams (var Params: TCreateParams); override;
end;

procedure TListHorz.CreateParams (var Params: TCreateParams);
begin
inherited CreateParams (Params);
Params.Style := Params.Style or WS_HSCROLL;
end;


GOSTEI 0
Davis_lima

Davis_lima

29/08/2005

CONSEGUI!!!!!!!!!!

antes do ShowModal basta colocar a próxima linha

SetWindowLong(NomeForm.Handle, GWL_EXSTYLE, GetWindowLong(NomeForm.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);

foi o único jeito que consegui, quem tiver outro me envie por favor.

Obrigado e abraço a todos!!!


GOSTEI 0
POSTAR