Fórum Posicionar um form conf. posição de um Edit #291250
09/08/2005
0
Ola pessoal
Estou utilizando o Delphi com o Windows XP. Para posicionar uma nova janela numa determinada posição da tela, ao lado de um TEdit por exemplo, altero as propriedades do novo form (top e left) utilizando as informações desse TEdit e seus ascendentes, porém não estou obtendo o resultado esperado. Talvez falte aí somar a altura da barra de título do TForm onde está esse TEdit. Se for isso, como faço para obter esse valor? Utilizo a função abaixo que traz o valor top e left esperado.
function PosObj(Sender: TObject): TPoint;
var
Obj: TControl;
Pos: TPoint;
begin
Obj := TControl(Sender);
Pos.X := Obj.Top;
Pos.Y := Obj.Left;
while not (Obj.Parent = nil) do
begin
Obj := Obj.Parent;
Inc(Pos.X, Obj.Top);
Inc(Pos.Y, Obj.Left);
end;
Result := Pos;
end;
Estou utilizando o Delphi com o Windows XP. Para posicionar uma nova janela numa determinada posição da tela, ao lado de um TEdit por exemplo, altero as propriedades do novo form (top e left) utilizando as informações desse TEdit e seus ascendentes, porém não estou obtendo o resultado esperado. Talvez falte aí somar a altura da barra de título do TForm onde está esse TEdit. Se for isso, como faço para obter esse valor? Utilizo a função abaixo que traz o valor top e left esperado.
function PosObj(Sender: TObject): TPoint;
var
Obj: TControl;
Pos: TPoint;
begin
Obj := TControl(Sender);
Pos.X := Obj.Top;
Pos.Y := Obj.Left;
while not (Obj.Parent = nil) do
begin
Obj := Obj.Parent;
Inc(Pos.X, Obj.Top);
Inc(Pos.Y, Obj.Left);
end;
Result := Pos;
end;
Helderjr
Curtir tópico
+ 0
Responder
Posts
09/08/2005
Massuda
Dentro do form que contem o Edit, faça algo assim:
var P: TPoint; F: TSeuForm; ... // calcula a posição na tela do edit P := ClientToScreen(Point(Edit.Left, Edit.Top)); // posiciona o form abaixo do edit F.Left := P.X; F.Top := P.Y + Edit.Height + 1; // posiciona o form à direita do edit F.Left := P.X + Edit.Width + 1; F.Top := P.Y; ...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)