Impedir redimencionamento/movimento de componente

Delphi

25/02/2003

Olá, povo do fórum...

Tenho um componente container que recebe um componente derivado de TPanel dentro dele (quase como um PageControl). Pois é: preciso impedir que este último seja redimencionado, tal como os TTabSheets que não podemos mecher.

O problema é que não posso fazer um [b:47ee0eccdf]Align := alCliente[/b:47ee0eccdf], visto que dentro do container irão outros componentes que seriam sobrepostos neste caso.

Alguém sabe qual mensagem devo interceptar para impedir o redimencionamento e o movimento de um componente, ou como atribuir um ClientRect especial para que restrinja parte dos componentes dentro de um container?

Agradeço, desde já. :?


Ildefonso

Ildefonso

Curtidas 0

Respostas

Anonymous

Anonymous

25/02/2003

Cara, não lembro de ter visto a versão do delphi que vc utiliza.
Esta é uma informação muito importante, apesar de quase ninguem revelar.

Você também não mencionou se o código do seu componente é aberto ou fechado.

Se seu delphi é o 5 ou superior, acho que apenas definindo a propriedade constraint resolve o problema de redimencionamento (se o componete tiver esta propriedade).

Se este componente for descendente de TPanel, tem um evento chamado OnResize.
Você pode mapear este evento, guardando inicialmente as propriedades top, left, lenght e heigh do componente e reatribuí-las sempre que o evento for disparado.

Espero que ajude.


GOSTEI 0
Ildefonso

Ildefonso

25/02/2003

Olá, Wesley.

A versão é a 5. E o OnResize pega o dimencionamento... eu sei. Mas como tratar o simples arrastar e soltar em uma nova posição, dentro do próprio container.

O código do componente é aberto...

Agradecido...


GOSTEI 0
POSTAR