Ajuda - Busca - Membros - Calendário
Versão Completa: Nome Na Barra De Título Diferente Do Caption Do Form.
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
Paulo Nobre
Por qual motivo quando abrimos um projeto pela primeira vez o nome que aparece na barra de título é
project1(ou o nome que foi dado na hora de salvar o projeto) e não form1 como o do caption do form?

Afinal, quando clicamos na barra de tarefas, em cima do nome, não estamos clicando indiretamente no form1?

Sei que é possivel mudar para form1, fazendo Application.Title:=Form1.caption, por exemplo no
evento OnShow do form1.
Paulo Nobre
Pesquisando acabei de descobrir algo que jamais imaginava..
Na realidade quando você cria um projeto, junto você está criando um objeto Application, descendente da classe TApplication. Este objeto é um form com dimensões 0x0, ou seja, invisível, mas não hide. O que você vê na barra de tarefas é o título deste form invisível que tem com caption o mesmo nome do projeto. Ele é que controla todos os outros forms do projeto. Assim ao clicar nele o principal é mostrado. Desejando que os dois tenham o mesmo nome(caption) temos o código acima.
CODE

Application.Title:=Form1.caption

Porisso é que os nomes são diferentes, pois na realidade existem dois forms logo de inicio.
Foi isso que eu entendi na leitura que fiz.

Querendo comprovar a existência deste form coloque num form qualquer um botão e nele o código abaixo:
(Antes diminua bastante o tamanho do form principal)

CODE

var
  OldStyle:Integer;
begin
  OldStyle:=GetWindowLong(Application.Handle,gwl_Style);
  SetWindowLong(Application.Handle,gwl_Style,OldStyle or WS_THICKFRAME or WS_CAPTION);
  SetWindowPos(Application.Handle,0,0,0,200,100,SWP_NOMOVE or SWP_NOZORDER);
end;
Churc
opa Paulo, bacana isso, na verdade eu não sabia que havia um form invisível pra controle dos demais forms, já que da pra pegar mensagens sem você precisar ter janelas...

valeu
Paulo Nobre
Realmente, Churc, interessante mesmo.
E acredito que a idéia por trás deva ser essa mesmo que você mencionou, pegar mensagens sem "precisar ter janelas".
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.