2014-04-29 4 views
0


일부 파일의 미리보기를 보여주는 MFC에서 컨트롤을 작성해야합니다. 이 파일은 3D 모델이므로 OpenGL을 사용하여 그려서 사용자가 상호 작용하도록해야합니다 (패닝, 확대/축소 등).

CFileDialog 클래스를 확장하고 싶습니다. 파일 시스템에서 탐색을 다시 수행하는 데 시간이 낭비 될 것이고 결과가 확실히 동일하지 않기 때문입니다.
내 아이 대화 행함을 부가 CFileDialog에 리소스를 수정하는 데 성공했습니다MFC extends CFileDialog

SetTemplate(0, MAKEINTRESOURCE(IDD_MYPREVIEWDLG))

을하지만 난 오른쪽에 내 미리보기를보고 싶다 동안 아이가, 하단 부분에 추가됩니다.

그럴 수 있습니까?

답변

3

MSDN (강조 광산)에서 :

새로운 컨트롤을위한 공간을 만들기 위해, 시스템은 사용자 정의 대화 상자의 폭과 높이에 의해 기본 대화 상자를 확장합니다. 기본적으로 사용자 지정 대화 상자의 모든 컨트롤은 기본 대화 상자의 컨트롤 아래에 배치됩니다. 그러나 사용자 지정 대화 상자 템플릿에 정적 텍스트 컨트롤을 포함하고 stc32의 컨트롤 식별자 값을 할당하여이 기본 위치 지정을 재정의 할 수 있습니다. 이 값은 Dlgs.h 헤더 파일에 정의되어 있습니다.이 경우 시스템은 컨트롤을 참조 포인트로 사용하여 새 컨트롤을 배치 할 위치를 결정합니다. stc32 컨트롤의 위와 왼쪽의 모든 새 컨트롤은 기본 대화 상자의 컨트롤 왼쪽과 같은 위치에 배치됩니다. stc32 컨트롤의 아래쪽과 오른쪽의 새 컨트롤은 기본 컨트롤의 아래쪽과 오른쪽에 배치됩니다. 일반적으로 새로운 컨트롤은 stc32 컨트롤에있는 것과 같은 기본 컨트롤과 동일한 위치에 있도록 배치됩니다. 이러한 새 컨트롤을위한 공간을 만들기 위해 시스템은 필요에 따라 기본 대화 상자의 왼쪽, 오른쪽, 아래 및 위쪽에 공간을 추가합니다.

+0

내 모습을 확인하십시오. – IssamTP

+0

예, 안전하게 배치하기가 쉽지 않더라도 솔루션입니다. – IssamTP