Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Verhindern das Fenster verschoben wird

  Alt 9. Apr 2008, 15:41
Ich wollte dasjetzt testen und hab fix eine neue Komponente erzeugt.
Delphi-Quellcode:
unit FormEditor;

interface

uses
  SysUtils, Classes, Controls, Forms, Messages, Windows;

type
  TEditableForm = class(TCustomForm)
  private
    //
  public
    procedure WMNChittest(var msg:TWMNChittest); Message WM_NChittest;
  end;

  TFormEditor = class(TScrollBox)
  private
    FWindow: TEditableForm;
  protected
    { Protected-Deklarationen }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('CapSystems', [TFormEditor]);
end;

{ TEditableForm }
procedure TEditableForm.WMNChittest(var msg: TWMNChittest);
begin
  DefaultHandler(Msg);
  if Msg.result = HTCAPTION then
    Msg.result := HTCLIENT;
end;

{ TFormEditor }
constructor TFormEditor.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  if not (csDesigning in ComponentState) then
  begin
    FWindow := TEditableForm.Create(Self);
    with FWindow do
    begin
      Parent := Self;
      Visible := True;
    end;
  end;
end;

destructor TFormEditor.Destroy;
begin
  if not (csDesigning in ComponentState) then
    FWindow.Free;
  inherited Destroy;
end;

end.
Leider bekomme ich zur Laufzeit folgende Fehler:
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EResNotFound mit der Meldung 'Ressource TEditableForm wurde nicht gefunden' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
An was könnte das liegen?
  Mit Zitat antworten Zitat