Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

Re: Class Initialisieren und Terminieren

  Alt 9. Okt 2006, 14:07
Habs mal versucht umzusetzen!

Delphi-Quellcode:
implementation

constructor
var
   Magnetic : TMagnetic; // Man sollte für Typdeklaratationen überigens besser "T" verwenden
begin
   Magnetic := Magnetic.create;
   try
      Magnetic.Class_Initialize);
   finally
      Magnetic.Class_Terminate;
   end;
end;

procedure Class_Initialize;
begin
    // Default snap width
    m_lSnapWidth := 10;

    // Initialize array (handled windows info)
    ReDim m_uWndInfo(0): WND_INFO;
    m_lWndCount := 0;
End;

procedure Class_Terminate;
begin
    // Stop subclassing
    If (m_lWndCount) Then
        Subclass_StopAll;

End;
Magnetic.create gibt aber einen fehler aus!
Fehlt da eine overload function ?

Habe das gefühl das meine umsetzung nicht ganz richtig ist..

Edit:
Magnetic.AddWindow(GetDesktopWindow, Self.handle); Gut gemeint aber das geht nicht!
Das Projekt ist eine classe welche von außen aufgerufen wird

Der Functionsaufruf wäre dieser!

Magnetic.AddWindow(frmMain.Handle); // Ist die Hauptform deiner Anwendung Öffnest du nun ein neues Window(Fenster)

Dann kannst du zu deiner Hauptform das ParentWindow dieses Fenster addieren.
Magnetic.AddWindow(frmMain.Handle, frmTest.Handle); Das ergebnis wäre.
Wird dein Hauptfenster in die nähe des Test Fenster geschoben dann dockt dieses daran an.
Verschiebst du nun das Hauptfenster wird das TestFenster mitgezogen.
Die Position wo es andockt ist egal!

Diese Klasse macht genau das was Winamp macht wenn dort Fenster andocken.
Es können xBeliebige Fenster zur Hauptform addiert werden.

gruß
  Mit Zitat antworten Zitat