form mdiChild minimizada

Delphi

02/08/2006

Como aumentar a largura de uma form mdiChild Minimizada para aparecer uma parte maior do caption?

Grato!


Vitor Rubio

Vitor Rubio

Curtidas 0

Respostas

Massuda

Massuda

02/08/2006

Espero que ajude... Raymond Chen, um antigo desenvolvedor da Microsoft, explicou recentemente [url=http://blogs.msdn.com/oldnewthing/archive/2005/02/10/370445.aspx]porque a janela minimizada tem o tamanho de 160x31px[/url] e [url=http://blogs.msdn.com/oldnewthing/archive/2005/02/10/370445.aspx]deu uma dica que esse tamanho pode ser alterado[/url] usando a função SystemParametersInfo() com a flag SPI_SETMINIMIZEDMETRICS para alterar a largura da janela minimizada.


GOSTEI 0
Vitor Rubio

Vitor Rubio

02/08/2006

não entendi como e onde usar essa api. Quais são os outros arametros que eu devo passar a ela?

grato!


GOSTEI 0
Vitor Rubio

Vitor Rubio

02/08/2006

consegui, procurei o MSDN e achei muito interessante. Estou colocando aqui porque acho que seria de proveito:

procedure TForm2.FormCreate(Sender: TObject);
var parametros: TMinimizedMetrics; //estrutura da api que define o tamanho das forms iconizadas
    tam: Cardinal; //variavel que guarda o tamanho desa estrutura
begin
  tam :=  SizeOf(parametros); //setando o tamanho
 
  parametros.cbSize := tam;  //essa parametro tem que ser igual ao tamanho
  parametros.iWidth := 400;  //largura da form minimizada
  parametros.iHorzGap := 1; //distancia horizontal entre os icones
  parametros.iVertGap := 1; //distancia vertical entre os icones
  parametros.iArrange := ARW_HIDE;  //o que faz quando minimiza (existem varias opções)
 
  SystemParametersInfo(SPI_SETMINIMIZEDMETRICS, tam, @parametros, 0 );
  //chama a api (esta api faz muitas outras coisas dependendo da estrutura passada pra ela)
end;



GOSTEI 0
Massuda

Massuda

02/08/2006

:) Legal!


GOSTEI 0
POSTAR