Fórum Width e Height #324055
22/06/2006
0
Rudá
Curtir tópico
+ 0Posts
22/06/2006
Steve_narancic
Gostei + 0
22/06/2006
Rudá
Gostei + 0
23/06/2006
Marco Salles
evento OnResize
procedure TForm1.FormResize(Sender: TObject); begin h:=form1.Height; W:=form1Width; end;
Gostei + 0
23/06/2006
Rudá
Agora mais uma dúvida, eu to querendo fazer o seguinte:
É gravado no registro o tamanho do form e o WindowState, para que quando ele entrar de novo no form se for fechado o programa ficar do mesmo tamanho e WindowState. Só que achei esse problema do tamanho do form, se ele sair do programa com o form maximizado, então quando ele entrar de novo vai tar maximizado só que se ele restaurar para o normal ele tem que tar do mesmo tamanho que o cara colocou antes de fechar o programa!
Exemplo é o programa do msn se vc deixa maximizado e fecha ele quando abrir de novo ele vai tar maximizado, se vc deixa normal com um determinado tamanho, quando fechar e abrir vai tar do mesmo modo, eu estou querendo fazer isso pode me ajudar??
Gostei + 0
24/06/2006
Marco Salles
eu nun entendi a dificuldade.... se voce mesmo diz que usa os registros do windows
, porque não ao fechar o form voce grava os valores e ao abrir o form voce usa esses valores..
Gostei + 0
24/06/2006
Rudá
fiz tb assim mas não funcionou!
if(WindowState = wsNormal) then Tamanho.Text:= IntToStr(Width) + ´ x ´ + IntToStr(Height);
Pode me ajudar??
Gostei + 0
24/06/2006
Marco Salles
é porque as coisas acontecem depois do evento onResize
uma solução para istop é enviar uma mensagem para o windows e depois captura-la
tente aplicar esses conceitos abiaxo em seu programa
private
procedure Wmuser(var msg:Tmessage);message wm_user;
{ Private declarations }
public
{ Public declarations }
end;procedure TForm1.FormResize(Sender: TObject); begin postmessage(handle,wm_user,0,0); end;
procedure TForm1.Wmuser(var msg: Tmessage); begin //aqui voce vai testar o estado "futuro" do form..isto é logo //apos ele ser alterado.... if form1.WindowState = wsMaximized then showmessage(´maximizado´) else showmessage(´alterou´); end;
Gostei + 0
25/06/2006
Rudá
var Pl: TWindowPlacement; R: TRect; begin Pl.Length:= SizeOf(TWindowPlacement); GetWindowPlacement(Form.Handle,@Pl); R:= Pl.rcNormalPosition; // Width:= R.Right-R.Left; // Height:= R.Bottom-R.Top; // Left:= R.Left; // Top:= R.Top;
Esse código mostra o tamanho do form no seu estado normal!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)