-
촛불을 ..
-
미디어 타입 맞추기
-
핀 연결하고 끊기 (기초)
질문방에 답글 올린 내용을 다시 정리하였습니다.방법은 여러가지가 있겠지만 제가 사용하고 있는 부분을 올리겠습니다. 1. 핀 연결하기 기본적으로 Graph Builder에서 제공하는 Connect 메소드를 사용합니다. pGraph->Connect(IPin pOut, IPin pIn) 로 사용할 수 있죠..문제는 여기서 연결하고자 하는 두 개의 필터에서 연결을 원하는 핀에 대한 포인터를 얻는 것인데요. 아래의 함수는 사용자가 지정한 필터(pFilter)의 출력 또는 입력측(PinDir)에 있는 현재 연결되지 않은 핀의 포인터(**ppPin)를얻어오는 루틴입니다. 얻어오는…
-
CString to LPCWSTR
//사용 변수 선언CString ansistr = "Hello";LPCWSTR unicodestr;//길이 저장int lenA = lstrlenA(ansistr);int lenW;lenW = ::MultiByteToWideChar(CP_ACP, 0, ansistr, lenA, 0, 0);if (lenW > 0){ // Check whether conversion was successful unicodestr = ::SysAllocStringLen(0, lenW);//형변환 함수 ::MultiByteToWideChar(CP_ACP, 0, ansistr, lenA, (LPWSTR)unicodestr, lenW);}else{ // handle the error} ::SysFreeString((BSTR)unicodestr);
-
[TIP]Dialog를 안으로 밖으로~~
질답란에 있길래 한번 만들어 보았습니다.다이얼로그를 WS_POPUP으로 사용하다가 WS_CHILD로 ~ 스타일 변경은m_pDlg->ModifyStyle(WS_CHILD, WS_POPUP|WS_BORDER|WS_CAPTION|DS_MODALFRAME); 스타일 변경하기 위해잠시 SW_HIDE ~~SW_SHOW, 부모윈도우 잡아주기 위해m_pDlg->SetParent(this); if(!m_pDlg){ m_pDlg = new CTestDlg; m_pDlg->Create(CTestDlg::IDD, this); } m_pDlg->ShowWindow(SW_HIDE); CString str; GetDlgItem(IDOK)->GetWindowText(str); if(str.Compare("OutGoing Dialog")){ GetDlgItem(IDOK)->SetWindowText("OutGoing Dialog"); m_pDlg->ModifyStyle(WS_POPUP|WS_BORDER|WS_CAPTION|DS_MODALFRAME, WS_CHILD); m_pDlg->ModifyStyleEx(0, WS_EX_DLGMODALFRAME ); m_pDlg->SetParent(this); }else{ GetDlgItem(IDOK)->SetWindowText("Cominging Dialog"); m_pDlg->ModifyStyle(WS_CHILD, WS_POPUP|WS_BORDER|WS_CAPTION|DS_MODALFRAME); m_pDlg->ModifyStyleEx(WS_EX_DLGMODALFRAME , 0); m_pDlg->SetParent(NULL); } m_pDlg->SetWindowPos(NULL, 5, 5, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW)
-
다중뷰
-
주요 클래스 포인터 얻기SDI 형태 1. MainFrame 얻기 – CMainFrame* pFrm = (CMainFrame *)AfxGetMainWnd(); 2. APP 얻기 – CExamApp* pApp = (CExamApp *)AfxGetApp(); 3. Document 얻기 – CMainFrame* pFrm = (CMainFrame *)AfxGetMainWnd(); –C00Doc* pDoc = (C00Doc *)pFrm->GetActiveDocument(); 4. View 얻기 – CMainFrame* pFrm = (CMainFrame *)AfxGetMainWnd(); –C00View* pView = (C00View *)pFrm->GetActiveView(); MDI 형태 1. ChildFrame 얻기 – CMainFrame* pFrm = (CMainFrame…
-
나의 COM(Component Object Model) 경험담 #1 -
DirectShow 비디오 윈도우 셋팅특정위도우에 비디오 재생을 하는 방법에 대해 설명하겠습니다.…비디오파일을 나타낼때, filter graph는 video renderer filter가 포함되어 있어야 합니다.비디오는 압축되지 않은 데이터를 비디오 데이터를 입력 받고 윈도우에 스크린 나타는것을 나타냅니다.달리지정하지않으면, 비디오 재생 윈도우는 타이틀바와 테두리가 있는 최상위 윈도우입니다.어플리케이션에서 만든 특정윈도우에서 비디오가 나타나기를 원할것입니다.어플리케이션 윈도우의 자식 비디오 윈도우에 나타나게 만들것입니다.윈도우의 위치, 스타일 지정한 비디오 윈도우의 프로퍼티를 세팅해서 만들수 있습니다.Filter…
-
DirectShow 기초 1DirectShow 많이 들어보셨을 겁니다.DirectX에 들어있는것중 하나이지요.DirectX에는 DirectSound, DirectMusic, DirectShow 가 있습니다.DirectShow는 멀티미디어의 통합관리를 한다고 생각하시면 됩니다.저도 배우면서 1주일정도 고생을 했네요.다른분들이 좀더 쉽게 이해할 수 있었으면 좋겠습니다.DirectShow! 조금 공부해보시면 알겠지만 핀, 필터 등의 개념이 생소합니다.전 이 구조를 이해하는도 오래 걸렸습니다.먼저 DirectShow를 이해하기 위해 GraphEdit 라는 프로그램이 있으면 좋습니다.graphedit.zip압축을 푼 후 regsvr32 proppage.dll 를 실행하여 proppage.dll 를…