Resize manual
Ola a todos.
Estou fazendo um form sem bordas(bsNone) e com varios componentes sobre ele. O q gostaria de fazer e de alguma forma o form possa ser redimensionado como um form normal (bsSizeable). Ja pensei em fazer nos eventos OnMouseMove dos componentes q estao nele. Até funcionaria, mas num form com uns 50 componentes ia ficar ruim ter q fazer 1 por 1. O bom se tivesse um metodo mais simples.
Estou fazendo um form sem bordas(bsNone) e com varios componentes sobre ele. O q gostaria de fazer e de alguma forma o form possa ser redimensionado como um form normal (bsSizeable). Ja pensei em fazer nos eventos OnMouseMove dos componentes q estao nele. Até funcionaria, mas num form com uns 50 componentes ia ficar ruim ter q fazer 1 por 1. O bom se tivesse um metodo mais simples.
Ltres
Curtidas 0
Respostas
Alysson
07/02/2004
vc quer dá é resize, ???
tenta por um Botão no canto do form, no cantinho diagonal inferior Direita.
lá embaixo mesmo.
aí no evento, onMouseDown
vc bota uma variavel do tipo
onmousedown
Redimensionando:= True;
no OnMouseUp
Redimensionando := FALSE;
no MouseMove
if Redimensionando = TRUE then
begin
{
n lembro o codigo muito bem.
mas axo q é esse
}
FORM.width := form.width +x;
form.height := form.height +y;
end;
tentaew...
tenta por um Botão no canto do form, no cantinho diagonal inferior Direita.
lá embaixo mesmo.
aí no evento, onMouseDown
vc bota uma variavel do tipo
onmousedown
Redimensionando:= True;
no OnMouseUp
Redimensionando := FALSE;
no MouseMove
if Redimensionando = TRUE then
begin
{
n lembro o codigo muito bem.
mas axo q é esse
}
FORM.width := form.width +x;
form.height := form.height +y;
end;
tentaew...
GOSTEI 0
Vinicius2k
07/02/2004
Colega,
Ancore, (propriedade [color=green:3d9a295a05]Anchors[/color:3d9a295a05]) os componentes nas posições desejadas, que ao redimencionar o form eles serão redimensionados na mesma proporrção...
T+
Ancore, (propriedade [color=green:3d9a295a05]Anchors[/color:3d9a295a05]) os componentes nas posições desejadas, que ao redimencionar o form eles serão redimensionados na mesma proporrção...
T+
GOSTEI 0
Cebikyn
07/02/2004
Para fazer um form com borda bsNone comportar-se como um bsSizeable, basta declarar isto no public de seu form:
depois em implementation:
Desta forma o form poderá ser redimensionado como se tivesse borda.
procedure CreateParams(var Params: TCreateParams); override;
depois em implementation:
procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := (Params.Style or WS_THICKFRAME); end;
Desta forma o form poderá ser redimensionado como se tivesse borda.
O q gostaria de fazer e de alguma forma o form possa ser [b:acd43ce1f4]redimensionado como um form normal[/b:acd43ce1f4] (bsSizeable).
GOSTEI 0
Ltres
07/02/2004
Valeu ajuda de todos, mas segundo o codigo q cebikyn passo funco perfeitamente.
GOSTEI 0