Ver Mensaje Individual
  #6  
Antiguo 29-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

De esta forma creo que vas a evitar la pérdida del foco.
Código Delphi [-]
uses Unit2;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.Visible:= False;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
                 Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then
  begin
    Panel1.Visible:= True;
    with TForm2.Create(Self) do
    begin
      ManualDock(Panel1, nil, alClient);
      Align := alClient;
      Show;
    end;
  end;
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  if Panel1.Visible then
  begin
    Form2.Free;
    Panel1.Visible:= False;
  end;
end;

El uso de ManualDock en lugar del tradicional 'Form2.Parent:= Panel1' para mí era una novedad hasta hace muy poco.
Es un dato que se lo debo al amigo Neftalí, quíen explica muy bién sus ventajas [ aquí ].

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 29-05-2011 a las 01:47:55.
Responder Con Cita