Einzelnen Beitrag anzeigen

The Riddler
(Gast)

n/a Beiträge
 
#1

Fensterposition auslesen und setzen!

  Alt 10. Nov 2008, 21:23
Und weiter geht es: Ich möchte gern die Position eines fremden Fensters auslesen und setzen.

Das Auslesen klappt wunderbar. Ich lese mit diesem Code alle Positionen der aktiven Fenster aus (kommen in ne StringList):
Delphi-Quellcode:
var
  p: TWindowPlacement;

    p.Length:=SizeOf(TWindowPlacement);
    GetWindowPlacement(wHandle, @p); //Positionen auslesen und nachfolgend in StringLists speichern
    CasinoWindows.Add(IntToStr(wHandle));
    CasinoLeft.Add(IntToStr(p.rcNormalPosition.Left));
    CasinoTop.Add(IntToStr(p.rcNormalPosition.Top));
    CasinoRight.Add(IntToStr(p.rcNormalPosition.Right));
    CasinoBottom.Add(IntToStr(p.rcNormalPosition.Bottom));
Das Setzen der Position funktioniert leider nicht, die Fenster bleiben auf ihrer alten Position. Fehlermeldung kommt allerdings auch keine. Im konkreten Beispiel möchte ich Fenster1 an die Position von Fenster2 schieben:
Delphi-Quellcode:
var
  p: TWindowPlacement;
  hhd: HWND;
begin
  hhd := StrToInt(CasinoWindows[0]);
  p.rcNormalPosition.Left := StrToInt(CasinoLeft[1]);
  p.rcNormalPosition.Top := StrToInt(CasinoTop[1]);
  p.rcNormalPosition.Right := StrToInt(CasinoRight[1]);
  p.rcNormalPosition.Bottom := StrToInt(CasinoBottom[1]);
  SetWindowPlacement(hhd, @p);
Kann mir bitte jemand helfen? Thx
  Mit Zitat antworten Zitat