Dois forms na barra de tarefas do windows
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.
Obs.: Não uso o CreateForm para criar os forms.
Davis_lima
Curtidas 0
Respostas
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?
Posta pra gente o método, a princípio não tem que acontecer isso.
A aplicação é MDI?
GOSTEI 0
Davis_lima
29/08/2005
Adriano, meus forms são fsNormal e para chama-los uso
NomeForm.ShowModal;
NomeForm.ShowModal;
GOSTEI 0
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
29/08/2005
Adriano, qualquer um SO, uso o XP.
GOSTEI 0
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
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
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
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;
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
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!!!
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