Ver Mensaje Individual
  #4  
Antiguo 06-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Vaya. Es cosa de los permisos de usuario. Sé que no es lo mismo, porque tendrás que hacer un esfuerzo más, pero, aquí está el código fuente del asunto. Tienes que incluirlo en el formulario principal de un proyecto nuevo de Delphi, creo que me entiendes.

Código Delphi [-]
unit UMainFrm;

interface

uses
  Forms, StdCtrls, ExtCtrls, Classes, Controls;

type
  TEmbeddedPanel = class(TPanel)
  protected
    procedure MouseDown(Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer); override;
  end;

type
  TObjectPanel = class(TPanel)
  private
    FEmbeddedPanel: TEmbeddedPanel;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy(); override;
  end;

type
  TmainFrm = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FObjectPanel: TObjectPanel;
  end;

var
  mainFrm: TmainFrm;

implementation

{$R *.dfm}

{ TEmbeddedPanel }

procedure TEmbeddedPanel.MouseDown(Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
  inherited;
  SetFocus();
end;

{ TObjectPanel }

constructor TObjectPanel.Create(AOwner: TComponent);
begin
  inherited;
  FEmbeddedPanel := TEmbeddedPanel.Create(self);
  InsertControl(FEmbeddedPanel);
  Self.Top := 10;
  Self.Left := 10;
  Self.Width := 100;
  Self.Height := 100;
  with FEmbeddedPanel do
  begin
    Top := 10;
    Left := 10;
    Width := 50;
    Height := 50;
  end;
end;

destructor TObjectPanel.Destroy();
begin
  FEmbeddedPanel.Free();
  inherited;
end;

{ TmainFrm }

procedure TmainFrm.FormCreate(Sender: TObject);
begin
  FObjectPanel := TObjectPanel.Create(nil);
  FObjectPanel.ParentWindow := self.Handle;
end;

procedure TmainFrm.FormDestroy(Sender: TObject);
begin
  FObjectPanel.Free();
end;

end.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita