IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

[D6][Windows 10] Popup menu sur TWindowsMediaPlayer en mode FullScreen


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut [D6][Windows 10] Popup menu sur TWindowsMediaPlayer en mode FullScreen
    Bonjour à toutes et à tous.

    Je me demandais si c'était possible de faire afficher le Popupmenu de la fenêtre principale lorsque le TWindowsMediaPlayer est en mode FullScreen.

    Je n'ai rien trouvé sur le Net à ce sujet !

    A mon avis pas possible mais souvent je suis étonné des réponses émises par les cracks de ce site.

    J'utilise la propriété FullScreen du composant TWindowsMediaPlayer donc pas d'une TForm en mode agrandi.

    Merci d'avance,

    @+,

    cincap

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    C'est la version importée de l'activeX ?

    enableContextMenu et get_uiMode impact le comportement du fullscreen

    Remarks de IWMPPlayer::put_enableContextMenu method
    During full-screen playback, Windows Media Player hides the mouse cursor when the VARIANT_BOOL retrieved by IWMPPlayer::get_enableContextMenu equals FALSE and the BSTR retrieved by IWMPPlayer::get_uiMode equals "none".
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    @ ShaiLeTroll, merci de ta réponse,

    C'est la version importée de l'activeX ?
    Oui et voici la commande que j'emploie pour le FullScreen :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.BFullClick(Sender: TObject);
    begin
    if Wp1.playState in [wmppsPlaying,wmppsPaused] then
        Wp1.fullScreen := not Wp1.fullScreen;
    end;
    J'ai désactivé le menu contextuel directement depuis le composant !

    Je vais essayer de tester tes remarques.

    @+,

    cincap

  4. #4
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    Bonjour,

    alors c'est assez simple.
    il faut un popupmenu nommé PopupMenu1
    dans le OnShow de la FormPrincipale:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm14.FormShow(Sender: TObject);
    begin
      // ne soutout pas placer dans le OnCreate sinon --> violation d'accès
      WindowsMediaPlayer1.enableContextMenu:= False;
    end;
    [Edit]
    J'ai désactivé le menu contextuel directement depuis le composant !
    Désactiver le menu contextuel depuis l'inspecteur d'objets ne fonctionne pas !!!
    [/Edit]
    pour le composant WindowsMediaPlayer:
    uimode := 'full';
    dans le OnClick du WindowsMediaPlayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm14.WindowsMediaPlayer1Click(ASender: TObject; nButton,
      nShiftState: Smallint; fX, fY: Integer);
    var
      PT: TPoint;
    begin
      if nButton = 2 then
        if WindowsMediaPlayer1.fullScreen then
          PopupMenu1.Popup(fX, FY)
        else
        begin
          PT := ClientToScreen(Point(fX, FY));
          PopupMenu1.Popup(PT.X, PT.Y);
        end;
    end;
    Cordialement,
    @+

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonjour à toutes et à tous,

    @ Cirec, hello merci de tes suggestions mais....

    Désactiver le menu contextuel depuis l'inspecteur d'objets ne fonctionne pas !!!
    Sur D6, ce n'est pas depuis l'inspecteur d'objets mais avant de compiler, si je double click sur le composant TWindowsMediaPlayer, j'active une boite des propriétés du composant avec 2 onglets et sur "Statistiques avancées" je peus activer ou non ce menu contextuel.

    Comme tu le précises on peut le faire aussi dans le OnShow.

    Mon problème c'est que sur ma fiche principale j'ai bien un Tpopumenu mais en mode fullscreen il ne s'affiche pas d'ou l'existance de mon topic.


    @+,

    cincap

    Nom : Wmplayer.jpg
Affichages : 182
Taille : 54,5 Ko

  6. #6
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    re,

    en fait ce n'est pas qu'une suggestion
    mais j'ai effectué un test avec un TWindowsMediaPlayer en FullScreen
    et ça fonctionne parfaitement !!!
    Nom : Sans titre.png
Affichages : 165
Taille : 1,39 Mo
    Donc as-tu testé le code que j'ai donné ?

    Cordialement,
    @+

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    @ Cirec, oui je l'ai testé et je confirme que cela fonctionne alors que je n'avais rien trouvé à ce sujet, super.

    Mais dans mon application, j'avais désactivé les boutons pour mettre les miens et lorsque je fait le test, la barre des boutons du lecteur apparait et donc diminue la hauteur de l'écran.

    Cela ne me convient donc pas pour ce que je voulais faire.

    Comme il y a une solution, je ferme le topic

    Encore merci à tous et à Cirec.

    @+,

    cincap

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Dans la doc de uiMode

    This method retrieves the appearance of the embedded Windows Media Player. When the BSTR retrieved from get_uiMode is "none", "mini", or "full", a window is present for the display of video clips and audio visualizations. This window can be hidden in mini or full mode by setting the height attribute of the OBJECT tag to 40, which is measured from the bottom, and leaves the controls portion of the user interface visible. If no embedded interface is desired, set both the width and height attributes to zero.
    tu peux éventuellement combiner mini ou full et changer la taille du composant et voir le résultat pour remettre tes boutons
    Désactiver c'est UIMode à none, et comme mentionner plus haut, le curseur de la souris disparaît voire peut-être que cela désactive une partie de la gestion de la souris dont le clic-droit.

    Sinon savais-tu que tu peux skinner les boutons ?
    Il faut implémenter IWMPRemoteMediaServices dans Delphi, mettre UIMode en custom, à lire Remoting the Windows Media Player Control
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 427
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 427
    Points : 1 326
    Points
    1 326
    Par défaut
    Bonsoir à toutes et à tous,

    @ ShaiLeTroll, merci pour ton message.

    Sinon savais-tu que tu peux skinner les boutons ?
    En effet, je ne le savais pas, j'avais dans le temps essayé des effets de visualisations mais sans résultat sur D6 avec l' unité "DoogalsVisualization_TLB".

    Sinon l'aspect de mon convertisseur avec le skin et les Tbuttons me convient.

    Je vais voir sur D6 si cela fonctionne (IWMPRemoteMediaServices).

    @+,

    cincap
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/07/2018, 18h04
  2. Windows Phone 8 - Menu sur le côté comme FB
    Par freaks88 dans le forum Windows Phone
    Réponses: 1
    Dernier message: 02/07/2014, 08h43
  3. [Interface] Firemonkey Popup Menu sur une Form
    Par kurul1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 04/12/2013, 00h44
  4. [CS4] Zoom sur image avec mode fullscreen au clic
    Par nanou777 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 22/08/2011, 14h22
  5. passer une procédure sur le clique d'un popup menu
    Par sebyo dans le forum Débuter
    Réponses: 3
    Dernier message: 15/05/2009, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo