Remover o main icon da aplicação

Delphi

18/05/2007

Pessoal, alguém sabe como faço para remover o main icon da aplicação sem remover o {$R *.res} ?


Kizbk

Kizbk

Curtidas 0

Respostas

Adriano Santos

Adriano Santos

18/05/2007

Apaga o arquivo .res do diretório do dpr. SeuProjeto.res


GOSTEI 0
Kizbk

Kizbk

18/05/2007

Apaga o arquivo .res do diretório do dpr. SeuProjeto.res
Se apagar, o Delphi recria.
Teria algum outro jeito ?


GOSTEI 0
Adriano Santos

Adriano Santos

18/05/2007

Vc precisa apagar o .res e tb a diretiva de compilação que vc mesmo indicou no 1º post. Mas veja, algumas opções do seu Project >> Options ficarão desativadas, pois lá você define relevâncias ao projeto. ;)


GOSTEI 0
Martins

Martins

18/05/2007

Desculpe-me por meter a colher mas qual o objetivo em remover o main icon?


GOSTEI 0
Adriano Santos

Adriano Santos

18/05/2007

Desculpe-me por meter a colher mas qual o objetivo em remover o main icon?

Quê isso véio, você é sempre bem vindo.


GOSTEI 0
Kizbk

Kizbk

18/05/2007

Olá, não posso remover o {$R *.res} do .dpr pq tenho que informar os dados da versão do programa.

Teria algum jeito para isso se ter que criar um ícone em branco ?


GOSTEI 0
Adriano Santos

Adriano Santos

18/05/2007

Olá, não posso remover o {$R *.res} do .dpr pq tenho que informar os dados da versão do programa. Teria algum jeito para isso se ter que criar um ícone em branco ?

Mas toda aplicação tem que ter um ícone. Mesmo que retire o .res e o Delphi recrie pra você o ícone utilizado será o default do Delphi que você está usando. Não entendo porque não usar ícone. Pode explicar melhor?


GOSTEI 0
Marco Salles

Marco Salles

18/05/2007

parece que o que ele que é que o aplicativo se comporte como um
ToolWindow...

isto resolve

program Project1; uses Forms, Windows, Unit1 in ´Unit1.pas´ ; {$R *.RES} var ExtendedStyle : Integer; begin Application.Initialize; ExtendedStyle := GetWindowLong(Application.Handle, gwl_ExStyle); SetWindowLong(Application.Handle, gwl_ExStyle, ExtendedStyle or ws_Ex_ToolWindow and not ws_Ex_AppWindow); Application.CreateForm(TForm1, Form1); Application.Run; end.



GOSTEI 0
Martins

Martins

18/05/2007

Blz Marco Salles, a sua resposta foi o q eu imaginei q ele queria, me ausentei um pouco, mas deve ser isso mesmo.

boa sorte.


GOSTEI 0
Kizbk1

Kizbk1

18/05/2007

Negativo colegas, se fosse isso bastaria mudar a propriedade BorderStyle do Form se necessidade do SetWindowLong.

Bom, finalmente conseguí.
Removí o {$R *.res} e depois apliquei um programa que utiliza a função UpdateResource com o tipo RT_VERSION em cima do executável. Aí só ficou a versão sem o ícone.

Obs1: Foi meio trabalhoso, pois não conseguí achar códigos em Delphi para UpdateResource, mas no final deu tudo certo. :)

Obs2: Uma dica de um bom passa-tempo nas horas vagas é mexer com UpdateResource em Delphi :cry:


GOSTEI 0
Marco Salles

Marco Salles

18/05/2007

Negativo colegas, se fosse isso bastaria mudar a propriedade BorderStyle do Form se necessidade do SetWindowLong.


duas coisas distintas...o primeiro e sobre o ´comportamento´ e o segundo é quanto ao estilo da borda.
entendi equivocadamente a sua dúvida e repliquei sobre o icone da barra
de tarefas , mas pelo que pude perceber no final , voce quer é eliminar o icone do aplicativo...


GOSTEI 0
Kizbk1

Kizbk1

18/05/2007

Isso mesmo Marco, realmente eu confundí seu código com o BorderStyle.
Mas meu objetivo era retirar o ícone do executável no disco e o Delphi pelo que ví é uma das poucas linguagens que complica isso.


GOSTEI 0
POSTAR