![]() |
TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahmen)
Hallo zusammen,
ich habe bereits ausgiebig nach diesem Problem gesucht, und bin bisher noch nicht wirklich weitergekommen :/ Ich habe eine Form mit mehreren TMediaPlayer Komponenten. Die Properties habe ich so eingestellt das lediglich das reine VideoFenster sichtbar ist. Ich suche nun nach einer Moeglichkeit, das wenn man mit der Maus auf eines der Videofenster klickt und zieht, das Videofenster sich entsprechend mit bewegt. Der ensprechende Event muesste OnMouseDown sein. Ich vermute das ich in irgendeiner Form einen API-Eintrag ueberschreiben muss, damit es moeglich ist das Videofenster zu verschieben. Es waere toll wenn jemand einen Tip fuer mich haette :) (ich benutze Delphi 6 und das Windows SDK 6.4) abendliche Gruesse, der Sascha |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Moin Sascha,
was hast Du denn als Display genommen? |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Moin Christian,
Zitat:
Typs TPlayer = Class(TForm) angelegt. (Nennt man das dann MDI-Child?) Gruss, Sascha [edit=Christian Seehase]BBCode aktiviert. Mfg, Christian Seehase[/edit] |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Moin Sascha,
ist TPlayer jetzt eine eigene Klasse? Wie sind die Eigenschaften eingestellt? Vor allem BorderStyle. Zitat:
Nur weil ein Programm mehrere Fenster hat ist es nicht automatisch ein Programm mit MDI (Muliple Document Interface). |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Hi,
Richtig. TPlayer ist eine eigene Klasse. Wo finde ich denn die Property BorderColor? Im Objektinspektor sehe ich die leider nicht. Gruesse, Sascha |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Moin Sascha,
Zitat:
|
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Ups.. hab mich verschrieben :/
BorderStyle kann ich leider auch nicht finden. Die Klasse wird zur Laufzeit erstellt. Im Hauptformular habe ich eine Array-Zuweisung in der Form: var Player: Array of TPlayer TPlayer wiederrum wird in einem seperaten Formular folgendermassen beschrieben: type TPlayer = class(TForm) MediaPlayer: TOMediaPlayer; procedure FormCreate.. procedure FormMouseMove.. procedure FormMouseDown.. procedure MediaPlayerMouseMove.. procedure MediaPlayerOpenStateChange.. .. end; TOMediaPlayer gehört zur TOleControl Klasse. Wo stelle ich denn zur Laufzeit den BorderStyle ein? Im Prinzip soll das Videofenster garkein Border besitzen, deshalb habe ich auch die ganzen ShowControls (etc.) der MediaPlayer Komponente deaktiviert. Gruss, Sascha |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Moin Sascha,
schau doch mal hier in der Code-Library ![]() das müsste Dir eigentlich weiterhelfen. |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
So, Problem geloest.
Und zwar habe ich es nun folgendermassen gemacht:
Delphi-Quellcode:
Besten Dank fuer die Tips,
unit U_PlayerForm;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, WMPLib_TLB, MediaPlayer_TLB; type TPlayer = class(TForm) MediaPlayer: TOMediaPlayer; procedure FormCreate(Sender: TObject); procedure MediaPlayerMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Player: TPlayer; implementation uses U_Player; {$R *.dfm} procedure TPlayer.FormCreate(Sender: TObject); var OldStyle: longint; begin inherited; ShowWindow(Self.Handle,SW_HIDE); SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 1, nil, 0); OldStyle := GetWindowLong(Handle, GWL_STYLE); SetWindowLong(Handle, GWL_STYLE, OldStyle and not WS_CAPTION); Width := MediaPlayer.Width; Height := MediaPlayer.Height; MediaPlayer.DragMode := dmManual; end; procedure TPlayer.MediaPlayerMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var i: Integer; begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Handle, WM_SYSCOMMAND, 61458, 0); end; end; end. Sascha :) [edit=Christian Seehase] BBCode wieder aktiviert. Mfg, Christian Seehase[/edit] |
Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme
Moin Sascha,
schön dass es jetzt geht. Ähhh... Könntest Du bitte mal in Deinem Profil "BBCode immer aktivieren" auf "ja" Stellen, oder ersatzweise daran denken dies beim Posten zu tun, wenn Du Tags verwendest? Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz