문제

나는 현재 TopentextFiledialog를 인코딩 옵션을 가지고 있으므로 사용하지만 Vista에서는 오래된 열린 대화 상자 스타일을 사용하여 나타납니다. 새로운 스타일의 열린 대화 상자를 원하지만 인코딩 콤보 박스로 사용자 정의 문자열로 채울 수 있습니다. 기본적으로 나는 Vista에서 메모장이 보여주는 정확한 열린 대화 상자를 원합니다. 물론 해당 저장 대화 상자도 필요합니다.

나는 약간의 연구를 수행했으며 ofn_enabletemplate 플래그는 Vista Common 대화가 구식으로 돌아 오는 것으로 보입니다. 불행히도 그것은 또한 TopentextFiledialog가 창을 수정하여 인코딩 콤보 박스를 추가하기 위해 창을 수정할 수있는 깃발이기도합니다 (제대로 이해한다면).

누구든지 Vista에서 내가 원하는 것을 얻는 방법에 대한 제안이 있지만 여전히 XP에 따라 작동하는 사람이 있습니까? Windows 7에도 같은 문제가 있다고 가정합니다. D2009를 사용하고 있습니다. 제안이나 도움에 감사드립니다!

도움이 되었습니까?

해결책

Vista를 사용하면 파일 대화 상자를 다루는 새로운 방법이 소개되었습니다. IFileDialog 인터페이스하거나 살펴보십시오 이 블로그 게시물. 당신이 말하는 것처럼, OFN_ENABLETEMPLATE 플래그는 Vista Common 대화가 구식으로 돌아갑니다.

Delphi 2007 및 2009를 사용하면 사용할 수 있습니다 TFileOpenDialog 그리고 TFileSaveDialog 에서 Vista 대화 상자 구성 요소 범주. Application Pre-Vista Windows 버전과 호환되도록 계속 사용해야합니다. TOpenTextFileDialog 이를 위해 Vista에 있고 새로운 대화를 사용할 수 있는지 런타임을 확인하십시오.

if Win32MajorVersion >= 6 then begin
  // use TFileOpenDialog
  // ...
end else begin
  // use TOpenTextFileDialog
  // ...
end;

이제 Vista 대화 상자에 사용자 정의 만 추가하면됩니다. 블로그 게시물 핸들러를 추가 하여이 작업을 수행하는 방법을 보여줍니다. OnExecute 대화 상자의 IFileDialog 인터페이스가 이미 설정되었습니다) Dialog 파일의 회원 IFileDialogCustomize 인터페이스를 사용하여 추가 컨트롤을 추가합니다.

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