Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: "Windows"-Rahmen unsichtbar?!

  Alt 23. Okt 2003, 00:50
Zitat:
probiert, was an sich auch funktioniert, nur starte er dann das Programm komplett neu, nachdem man bei "Optionen" Vollbild ausgewählt hat. Und geht dann bei nochmaligem Filmstarten in den Vollbildmodus, welchen ich mit Esc wieder verlassen kann, jedch mit selbigen Problem, wenn ich
Das liegt daran das die VCL beim Ändern der BorderStyle eines Forms dessen Windows-Handle zerstört und wieder neu mit neuen Denstereigenschaften anlegt. Da aber der TMediaPlayer auf diesem Form liegt und für dessen Media Funktionen sein Fensterhandle benötigt, wird auch dieses Handle mit zerstört. Es gäbe jetzt vier Lösungen

1.) ein zweites unsichtbares TForm auf dem der TMediaPlayer sitzt
2.) der TMediaPlayer wird temporär vom TForm gelösst
3.) mit SetWindowLong(Form.Handle, GetWindowLong(Form.Handle, gwl_Style) and not (ws_OverlappedWindow or ws_Caption) or ws_Popup) lässt sich der Frame entfernen
4.) man überschreibt die Message wm_NCCalcSize und definiert dort andere Non-Client Fensterbereiche, eg. der Clientbereich wird exakt so groß gesetzt wie der Non-Client Bereich.

Gruß Hagen
  Mit Zitat antworten Zitat