Einzelnen Beitrag anzeigen

Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#1

[nonVCL]Bildschirmschoner Vorschau verschieben & schließ

  Alt 3. Jun 2008, 15:51
HI,

ich hab mich mal daran gemacht, einen Bildschirmschoner per nonVCL zu proggen. Schön und gut. Wenn ich das Fenster "Eigenschaften von Anzeige" verschiebe, so wandert der nonVCL-Bildschirmschoner nicht mit. Der, der auf VCL aufsetzt, schon. Wenn ich jetzt das Fenster "Eigenschaften von Anzeige" schließe, bleibt der Bildschirmschoner immernoch online. Im Anhang mal 3 Screenshots.

Wie kann ich
1. das Fenster so mitbewegen, dass es "mitläuft" und
2. das Fenster rechtzeitig beenden?


Ich glaub die Fragen haben etwas gemein, nämlich dass ein Event nicht richtig behandelt wird

Codeausschnitt:
Delphi-Quellcode:
// Window-Prozedur
function WndProc(hWnd: HWND; uMsg: UINT; wParam: wParam; lParam: LParam): lresult; stdcall;
begin
  Result := 0;
  case uMsg of
    WM_DESTROY: WMDestroy(hWnd); // Timer löschen und PostQuitMessage();
    WM_CREATE: hTimer := WMCreate(hWnd); // Timer erstellen
    WM_CLOSE: PostQuitMessage(0);

    WM_TIMER: WMTimer(hWnd); // Timer zum neuzeichnen
  else
    Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
  end;
end;

// Preview-Main
procedure PreView;
var
  parentwindow: HWND;
  Rec: TRect;
begin
Window.hbrBackground := CreateSolidBrush(RGB(0, 0, 0));
Window.hInstance := hInstance;
Window.hIcon := LoadIcon(hInstance,MAKEINTRESOURCE(100));
Window.hCursor := LoadCursor(0, IDC_ARROW);
Window.lpszClassName := ClassName;
Window.lpfnWndProc := @WndProc;
RegisterClassEx(Window);

parentwindow := StrToIntDef(ParamStr(2), 0);
GetWindowRect(parentwindow, Rec);
Width := Rec.Right - Rec.Left;
Height := Rec.Bottom - Rec.Top;

CreateWindowEx(0, ClassName, AppName,
    WS_VISIBLE or WS_CHILD or WS_POPUP,
    Rec.Left, Rec.Top, Width, Height,
    parentwindow, 0, hInstance, nil);

// [...] weiter mit nachrichtenschleife
end;
Bernhard
Miniaturansicht angehängter Grafiken
bild2_207.jpg   bild1_1_858.jpg   bild1_909.jpg  
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat