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

C++빌더 Q&A
C++Builder Programming Q&A
[53356] Re:Re:빌더의 폼 REPAINT 문제 때문에 동영상이...
아제나 [azena] 1516 읽음    2008-05-06 15:28
답변 감사합니다.

제안 1 방법대로 OnPaint 함수에서 DShow 컨트롤을 다시 그리도록 지정했습니다.
오전 내내 관련 자료를 검색했는데, 상속하여 메시지 자체 처리를 변경하지 않고
폼의 배경을 그리게 하지 않는 방법이 없는 것 같네요. -_-;;;
Alpahblend, Transparent 를 지정해보기도 하였으나 실패하였습니다.

[code]
void __fastcall TForm4Control::PreviewWindowRepaint(TObject *Sender)
{
  g_VMR9->Repaint(g_Form4Preview->Handle,GetDC(g_Form4Preview->Handle));
}

g_Form4Preview->OnPaint = PreviewWindowRepaint;
[/code]


장성호 님이 쓰신 글 :
: 제안1.
: OnPaint때 DX화면에서 출력을 한번더 해보세요
:
: 제안2.
: 모든 Form은 TCustomForm->TForm을 상속받아서 만들어지는것입니다.
: WM_PAINT부분을 오버라이딩 한다고 해서 화면에 출력이 아주 안되게 만들수는 없습니다.
:
: WM_PAINT및 WM_ERASEBKGND등의 메세지를 sub-classing해서 아무작업도 하지 않으면 될것입니다.
:
: 그럼..'
:
: 아제나 님이 쓰신 글 :
: : DSHow를 이용하여 동영상을 윈도우 핸들에 출력하고 있는데요.
: :
: : 동영상 출력 화면이 가렸다가 다시 출력되는 경우에 윈도우 폼의 REPAINT 기능 때문에 가려졌다가 다시 보여지는 부분이 다시 동영상 출력이 되는 것이 아니라 회색 폼이 보여지는군요.
: :
: : TForm을 상속해서 WM_PAINT 부분을 오버라이딩 하면 되겠지만, 귀찮고 (귀차니즘 때문에)
: : TForm->OnPaint = NULL; 해도 반응이 없군요. 얌얌
: :
: : 좋은 해결 방법이 없을까요?

+ -

관련 글 리스트
53343 빌더의 폼 REPAINT 문제 때문에 동영상이... 아제나 1266 2008/05/06
53363     찾아낸 가장 간단한 방법 아제나 1430 2008/05/06
53351     Re:빌더의 폼 REPAINT 문제 때문에 동영상이... 장성호 1414 2008/05/06
53356         Re:Re:빌더의 폼 REPAINT 문제 때문에 동영상이... 아제나 1516 2008/05/06
53355         Re:Re:빌더의 폼 REPAINT 문제 때문에 동영상이... 아제나 1274 2008/05/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.