Thema: Delphi SetWindowPos Problem

Einzelnen Beitrag anzeigen

Shaddow

Registriert seit: 3. Jun 2007
4 Beiträge
 
#1

SetWindowPos Problem

  Alt 3. Jun 2007, 20:16
Hi Leute,

also nachdem ich nun schon eine Weile google, einschlägige Seiten besucht habe und auch dieses Forum durchsucht habe, steh ich nach wie vor vor meinem Problem mit dem DC.

Ich beschreib es euch mal:

Ich erzeuge mit SDL ein Fenster (also kein Windows Standartform), indem später eine OpenGL Simulation abläuft aber das ist eher nebensächlich und für das Problem nicht relevant.

Es gibt von SDL keine mitgelieferte Funktion, um die Position des Fensters festzulegen, deswegen will ich mir das fuer Windows und Linux separat schreiben.

Was ich bisher habe:

Delphi-Quellcode:

  TSE_Window = class(TObject)
  private
    fHandle : HDC;
    fParentHandle : HDC;
[...]

  public
    property Handle : HDC read fHandle;
    property ParentHandle : HDC read fParentHandle;
[...]
  end;


constructor TSE_Window.Create (const NWindowCaption, NWindowIcon: pChar; NTop, NLeft, NScreenWidth, NScreenHeight: Integer; NBitPerPixel: Cardinal = 32; NFullScreen: Boolean = FALSE);
var text:pchar;
begin
  inherited Create;

  fHandle := CreateDC('DISPLAY',nil,nil,nil);
  fParentHandle := GetDesktopWindow();

[...Windowcreate; Videoflags,Attribute,Extensions lesen, usw...]

  SetWindowPos(Handle,HWND_TOP,NLeft,NTop,NScreenWidth,NScreenHeight,SWP_NOZORDER);
end;
Das Problem ist nun, es ist vollkommen egal, mit welchen Werten ich das Create aufrufe, die Position des Fensters stimmt nie. Erzeuge ich den DC falsch? Oder ruf ich die Funktion irgendwie falsch auf? Tapp hier grad echt im Dunkeln.

Danke schonmal im Voraus.
  Mit Zitat antworten Zitat