[2003/09/27(土) 19:23:09]に佐野さんがご質問しておられるようですが、
WindowsMediaPlayerのActiveXを取込み、リサイズを試みているのですが、リサイズが行われません。
リサイズは以下のようにダイレクトにWidthとHeightを設定しています。
WindowsMediaPlayer1.Width := XXX;
WindowsMediaPlayer1.Height := XXX;
ActiveXを貼付けたFormのVisibleをFalse->Trueとすると1回だけリサイズが効いたので、なにか描画系の問題なのかとも思いますがわかりません。
どなたかご存知の方がおられましたらアドバイスよろしくお願いいたします。
設計段階でWindowsMediaPlayerコンポをフォームなどに貼りつけて
サイズを決めてしまうと、その再生される動画の位置、サイズが固定されて、
WindowsMediaPlayer1.Width := XXX;
WindowsMediaPlayer1.Height := XXX;
でWindowsMediaPlayerのサイズを変更できたとしても、
動画の表示位置(Left、Top)とWindowsMediaPlayerの位置(Left、Top)の関係は
変えられないみたい。(自動的に動画が中央配置にはならない)
また、あらかじめ動画のサイズが分らないと、WindowsMediaPlayerのサイズが
決められないということも問題かな。
本格的に制御するにはIDispatchなどActiveXの知識が必要みたいで。。。
設計時にフォームなどに貼り付けずに、動的にWindowsMediaPlayerを生成して
やれば、動画のサイズとWindowsMediaPlayerのサイズは一致してくれるけどね。
やっぱりそうなのですね。。
そうとは思っていたのですが、StretchToFitをTrueにするとなぜか初回だけは
リサイズができたので、もしかしたらできるのかと思ってたのです。。
以前VC++でWindowsMediaのオリジナルActiveXを作ったことがあるのですが、確かにそのオリジナルActiveXではリサイズが可能でした。
ただ、できるだけ今回は標準のActiveXを使ってやりたいなと思っておりましたので。。
情報ありがとうございます。>どうかな?さん
ツイート | ![]() |