C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 강좌/문서
C++Builder Programming Tutorial&Docments
[136] C++Builder에서 WindowsMediaPlayer2(Resize) 갖고 놀기
박영목 [gsbsoft] 11773 읽음    2007-07-06 11:23
C++Builder에서 WindowsMediaPlayer2 갖고 놀기
===========================================

오늘도 디자인 수정... 울 회사는 디자인 죽어난다 --- "저 산이다! 아닌가배... ㅋㅋㅋ" 
그런데... 나대로 Test하고 있는 윈도우 사이즈 변경시 WMP 화면 사이즈도 바꿀려고 하는 영 안되더라.
아-- 이것 때문에 3시간 보낸 것 같다.  찾아도 찾기지 않고....

누가 플레쉬를 사이징 하는 것을 올려 놓은 것을 보니 느낌이 왔다(역쉬 구글)... 어응... 저렇게 하는
것이구나.... 그래서 비슷하게 저도 뚝딱했지여.... 그랬더니 뚝딱 되었버렸네(이 내용은 탁자를 탁치니 억하고
죽었더라. 비슷하네...  늦게나마 고인의 명복을 빕니다)....   숙연...

델파이 것도 올려 두었어요.....  

C++Builder
==========

//#pragma link "WMPLib_TLB"    <--- Insert

//#include "WMPLib_OCX.h"      <--- Include to Head File
//#include "WMPLib_TLB.h"

void __fastcall TForm1::uiModeStretchToFit()
{
  IUnknown* intf      = WindowsMediaPlayer1->DefaultDispatch;
  IWMPPlayer2* player = NULL;                        //IWMPPlayer2 IWMPPlayer3 IWMPPlayer4

  intf->QueryInterface(IID_IWMPPlayer2, (void**) &player);

  player->set_uiMode( L"none" );                     //Change Interface
  player->set_stretchToFit( VARIANT_TRUE );   //StretchToFit

  if(player != NULL) player->Release();
}


//Resize with WindowsMediaPlayer

//#include <oleidl.h>    <--- Insert to Top

void __fastcall TForm1::Panel12Resize(TObject *Sender)
{
    IUnknown* intf          = WindowsMediaPlayer1->DefaultDispatch;
    IOleInPlaceObject *LObj = NULL;
    TRect LRc;

    intf->QueryInterface(IID_IOleInPlaceObject, (void**) &LObj);

    SetRect( &LRc, 0, 0, Panel12->Width, Panel12->Height );
    LObj->SetObjectRects( &LRc, &LRc );

    if(LObj != NULL) LObj->Release();
}
===========================================================================================

uses   <-- 참고
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, WMPLib_TLB, ExtCtrls, StdCtrls, ActiveX;


Delphi
======

procedure TForm1.Panel1Resize(Sender: TObject);
const
   IID_IOleInPlaceObject: TGUID = '{00000113-0000-0000-C000-000000000046}';

var
  Res: HResult;
  LObj: IOleInPlaceObject;
  LRc: TRect;

begin

  IDispatch(WindowsMediaPlayer1.OleObject).QueryInterface(IID_IOleInPlaceObject, LObj);
  SetRect(LRc, 0, 0, Panel1.Width, Panel1.Height);
  LObj.SetObjectRects(LRc, LRc);

end;
김태선 [cppbuilder]   2007-07-24 10:46 X
리사이징은 중요한 문제죠.
예전에 이걸 못해서 애 먹었다는... ㅜ,.ㅜ;


+ -

관련 글 리스트
136 C++Builder에서 WindowsMediaPlayer2(Resize) 갖고 놀기 박영목 11773 2007/07/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.