Die Preview-Form wird mit folgendem Code in onCreate gestartet. Hab den Code hier aus dem Forum kopiert.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| lWnd:=strtoint(paramstr(2)); windows.GetClientRect(lWnd,tR); lStyle:=GetWindowLong(frmSaver.Handle,GWL_STYLE); lStyle:=lStyle or WS_CHILD or WS_CLIPCHILDREN; SetWindowLong(frmSaver.Handle,GWL_STYLE,lStyle); Windows.SetParent(frmSaver.Handle,lWnd); SetWindowLong(frmSaver.Handle,GWL_HWNDPARENT,lWnd); SetWindowPos(frmSaver.Handle,HWND_TOP,0,0,tR.Right,tR.Bottom,SWP_NOZORDER Or SWP_NOACTIVATE Or SWP_SHOWWINDOW); |
In diesem Fall wird das schließen der Vorschau nicht erkannt.
Mittlerweile habe ich aber eine andere (nicht so elegante) Lösung. Da ich für die Slideshow sowieso einen Timer eingebaut habe, prüfe ich mit
Delphi-Quelltext
1:
| GetWindowLong(strtoint(paramstr(2)),GWL_STYLE)=0 |
ob die Vorschau noch läuft. Wenn nicht, wird das Programm beendet.
Das funktioniert eigentlich ganz gut.
Trotzdem danke für die Hilfe
mrm