Impedir redimencionamento/movimento de componente
25/02/2003
0
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á. :?
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
Curtir tópico
+ 0
Responder
Posts
25/02/2003
Anonymous
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.
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.
Responder
25/02/2003
Ildefonso
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...
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...
Responder
Clique aqui para fazer login e interagir na Comunidade :)