문제

우리는데 일부는 집에서 만들어진 응용 프로그램 MFC,OpenGL 리 루틴입니다.그들은 모두 동일한 코드를 사용을 그리기 화면에서 인쇄하거나 화면을 저장하거나 JPEG 파일입니다.모든 것의 중요한 파 Windows XP 에서,그리고 나는 방법을 찾을 필요가들에서 작동 Vista.

에서의 응용 프로그램,모든 작동합니다.에서 남은 하나를 얻을 수 있습 창 테두리,제목 바,메뉴 및 작업 바,하지만 인테리어 결코 보여줍니다.내가 말했듯이,이러한 응용 프로그램을 사용하여 동일한 코드를 작성하는 화면을 캡처 이미지 창고,유일한 차이가 나는 것처럼 보인 그것과 관련될 수 있는 문제 응용 프로그램을 사용하 MFC 여러 문서,인터페이스는 동안 일하는 사람 사용하여 단일 문서 인터페이스입니다.

하나 대답지 않은 인터넷에,또는 나쁜에서 인터넷 검색을 나보다 생각했다.나는용 포럼,그리고 실질적인 제안을를 이용하는 것이었 GDI+보 GDI,그리고는 아무것도 하지 않았다 다릅니다.가 다른 것들과 모든 부분의 코드는 캡처하고 인쇄 또는 저장,포인터가 지정하는 창,그렇게 분명히 그것은 문제의 창 자체.나지 않은 다시 작성된 응용 프로그램을 사용하여 SDI 아직,그리고 나는 정말 없는 다른 아이디어.

는 사람이 아무것도 보이 같은가?


내가 무엇을 얻은 네 가지 신청입니다.그들이 많이 사용하는 일반적인 코드,공유입니다.h.cpp 파일을 알려 드로잉과 스크린 캡쳐 코드가 동일합니다.

가 WindowtoDIB()루틴에는*pWnd,그리고 소스 사각형하고 대상 크기입니다.그것처럼 보이는 매우 약간의 적응 Microsoft 코드,그리고 저는 다른 기능을 이 파일에서 마이크로소프트 웹사이트에 있다.의 내 네 응용 프로그램,세 핸들이지만 하나 하지 않습니다.가장 확실한 차이점은 문제가 하나 MDI.

그것은 나에게 보이 좋아*pWnd 문제입니다.나 MFC 전문가에 의해 장 촬영,그리고 그것은 나에게 보인다는 문제는 우리는 하나의 창에서 설정 SDIs 고,하나 이상에서 MDI.내가 전달 될 수있다 잘못*pWnd 하는 기능입니다.

그 동안,그것에는 작업을 시작에 제대로 64-bit Vista 테스트 기계,하지만 그것은 여전히 작동하지 않에서 32-bit Vista 기계입니다.저는 왜 아무 생각이 없습니다.아무것도 변경되지 않았기 때문 마지막 테스트,그리고 나는 생각하지 않았 다른 사람이었습니다.(32 비트 버전,화면 인쇄 주요 작품으로 예상되지만,그것을 저장하지 않으로 화면세스 포인트가 필요합니다.)

도움이 되었습니까?

해결책 5

우리는 결국 해결을 만들어 이른 OpenGL 컨텍스트,그리고 그 모든 것입니다.우리는 우리에서 화면 캡처합니다.

다른 팁

당신의 질문은 제목에 언급 화면 캡처하지만 실제적인 질문을하지 않습니다.자세히 설명합니다.문제 당신이 할 수 있는 화면을 캡처의 세 응용 프로그램만 번째 하나?당신이 사용할 수 있는 다양한 화면을 캡처하는 소프트웨어를 캡처 할 수 있습 OpenGL/다이렉트 windows.그 표면 처리로 직접 창에 의해 관리자 및 보여지지 않습으로 간단한'PrtScn'.

스위칭 GDI+를 해결하지 않습니다 그것은 없으며 전환 SDI.

면의 콘텐츠 CView 는 당신이 원한다면,네,있어야 합니다.는 경우의 컨텐츠의 화면 전체(최소한의 내용이 없는 도구 모음(s)고 상태 표시줄),당신은 그것을 전달하 CMainFrame(는 기본적으로 이름을 변경되었을 수 있습니다,하나에서 파생된 CMDIFrameWnd).

게시할 수 있습니 코드의 WindowToDIB()?나는 그냥 그것을 시도했고 그것이 나를 위해 일(TM)지만,없이 OpenGL 코드 보기입니다.전달하려고 다음과 같은 윈도우를 WindowToDIB()함수:

CMainFrame* mainfrm = static_cast<CMainFrame*>(::AfxGetMainWnd());

- mainfrm

- mainfrm->MDIGetActive()

- mainfrm->MDIGetActive()->GetActiveView()

고 당신이 무엇을 얻을 참조하십시오.

의 내용이 각 창은 directX 표면만 조립된 창에 의해 관리자에서 그래픽 카드입니다.할을 캡처 할 수 없이지 스위치를 끄는 새로운 인터페이스(상위)또는 코드를 위해 특별히기 화면에서 캡처합니다..

키는 좋은 설명 데스크탑 창 Manager(상위)

Sorry,내가 여전히 이해하지 못합니다.당신이 얻을려고 하는 화면 인쇄 키에서 작동하는 모든 네 응용 프로그램은 무엇입니까?또는 당신을 얻으려고 노력 WindowtoDIB()함수를 작동하는'스크린샷은'(내에서 자신의 응용 프로그램)의 응용 프로그램 자체할 수 있도록 이미지 파일로 저장?

또한,당신은 무엇을 의미와'그는 화면 인쇄 주요 작품으로 예상되지만,그것을 저장하지 않으로 화면세스 포인트가 필요합니다.'?인쇄 화면 복사를 클립보드,할 때 발생하는 것에 붙여 페인트?

하는 경우 WindowtoDIB()함수에만 반영'창을 통과한 다음,예의 MDI 아이지가 표시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top