Olá galera, nesta Quick Tips,
irei falar um pouco mais sobre uma classe não muito utilizada, mas de muita
ajuda para os desenvolvedores, a TScreen,
localizada na unit Forms.
Objetivo é representar o
estado da tela em que um aplicativo é executado. Representa as propriedades que
mantém o controle de quais Forms e Data Modules foram instanciados pela
aplicação, armazena o Form ativo e o Controle ativo dentro do mesmo. Armazena
também informações de resolução de tela, cursores, fontes disponíveis no
Sistema Operacional, controle dos monitores onde deve aparecer uma determinada
imagem além de sua resolução
Existe uma variável global
chamada Screen, do tipo Froms.TScreen, que já esta instancia através
de um GUI. Por isso podemos utilizar ela sem termos que instanciar a mesma.
Vamos agora utilizar alguns
recursos disponíveis nesta poderosa e interessante classe, mostrarei em seqüência
as finalidades de cada comando e a forma de utilizar. Observe que estou fazendo
uso de um ListBox, para adicionar os
valores obtidos, porém nada impede de você usar um Edit por exemplo, e também estou fazendo uso de For, ou seja
precisamos declara uma variável do tipo Integer.
Obtendo Width da resolução
ListBox1.Items.Add('Width : ' +IntToStr(Screen.Width));
Obtendo Height da resolução
ListBox1.Items.Add('Height : ' +IntToStr(Screen.Height));
Listar o nome dos forms
instanciados de sua aplicação
for I := 0 to -1 +
Screen.FormCount do
ListBox1.Items.Add(Screen.Forms[I].Name) ;
Listar o nome dos DataModules
instanciados de sua aplicação
for I := 0 to -1 +
Screen.DataModuleCount do
ListBox1.Items.Add(Screen.DataModules[I].Name)
;
ShowMessage('Numero de Formulário : ' + IntToStr(
Screen.FormCount));
Listar todas as fontes instaladas no Windows
ListBox1.Items.AddStrings(Screen.Fonts);
Centralizando o Formulário
Form1.Left
:= (Screen.Width - Form1.Width) div 2;
Form1.Top
:= (Screen.Height - Form1.Height) div 2;
Definindo um curso em tempo de execução
Screen.Cursor
:= crDrag;
Mudar a Fonte do Hint de sua aplicação
Screen.HintFont.Name
:= 'Book Antiqua';
Uma função extra:
Exibindo todos os componentes e units de cada componente no Form
procedure
TForm1.SpeedButton1Click(Sender: TObject);
var
I:
Integer;
begin
for I := 0 to ComponentCount
- 1 do
begin
ListBox2.Items.Add(Components[I].Name + ' = '+
Components[I].UnitName );
end;
end;
Fica ai então esta dica para
obtermos informações da instancia do seu aplicativo.
Fico por aqui ate à próxima
Quick Tips.
Um abraço
Wesley Y
wyamazack@rwsolution.com.br