AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahmen)
Thema durchsuchen
Ansicht
Themen-Optionen

TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahmen)

Ein Thema von sahmann · begonnen am 27. Sep 2003 · letzter Beitrag vom 29. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
sahmann

Registriert seit: 21. Jan 2003
15 Beiträge
 
#1

TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahmen)

  Alt 27. Sep 2003, 19:38
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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 00:43
Moin Sascha,

was hast Du denn als Display genommen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sahmann

Registriert seit: 21. Jan 2003
15 Beiträge
 
#3

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 00:56
Moin Christian,

Zitat von Christian Seehase:
Moin Sascha,

was hast Du denn als Display genommen?
Einem dynamischen Array werden Instanzen des
Typs TPlayer = Class(TForm) angelegt.

(Nennt man das dann MDI-Child?)

Gruss,
Sascha

[edit=Christian Seehase]BBCode aktiviert. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 01:05
Moin Sascha,

ist TPlayer jetzt eine eigene Klasse?
Wie sind die Eigenschaften eingestellt?
Vor allem BorderStyle.

Zitat von sahmann:
Nennt man das dann MDI-Child?
Das hängt von der Eigenschaft FormStyle ab.
Nur weil ein Programm mehrere Fenster hat ist es nicht automatisch ein Programm mit MDI (Muliple Document Interface).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sahmann

Registriert seit: 21. Jan 2003
15 Beiträge
 
#5

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 14:49
Hi,

Richtig. TPlayer ist eine eigene Klasse.

Wo finde ich denn die Property BorderColor?
Im Objektinspektor sehe ich die leider nicht.

Gruesse,
Sascha
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 15:11
Moin Sascha,

Zitat von sahmann:
Wo finde ich denn die Property BorderColor?
Keine Ahnung, ich hab' ja nach BorderStyle gefragt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sahmann

Registriert seit: 21. Jan 2003
15 Beiträge
 
#7

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 15:21
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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 15:55
Moin Sascha,

schau doch mal hier in der Code-Library

Fenster ohne Titelzeile verschieben

das müsste Dir eigentlich weiterhelfen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
sahmann

Registriert seit: 21. Jan 2003
15 Beiträge
 
#9

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 28. Sep 2003, 22:29
So, Problem geloest.

Und zwar habe ich es nun folgendermassen gemacht:

Delphi-Quellcode:
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.
Besten Dank fuer die Tips,
Sascha :)

[edit=Christian Seehase] BBCode wieder aktiviert. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: TMediaPlayer (SDK 6.4) Videofenster bewegen? (ohne Rahme

  Alt 29. Sep 2003, 00:36
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz