문제

CxGrid에서 "이미지"유형 인 열이 있습니다. (Properties= Image, GraphicClassName= Tjpegimage). PopUpMenuLayout - MenuItems에 "open with ..."라는 CustomMenuItem을 추가했습니다. 이 사용자 정의 메뉴 항목을 구현할 수 있으므로 페인트 (Windows 페인트)가있는 기본 이미지가 열립니다.적어도 "열기 ..."Windows 대화 상자를 트리거합니다.

도움이 되었습니까?

해결책

이미지가 데이터베이스에 저장된 경우 먼저 컴퓨터에 이미지 파일에 저장해야합니다.

다음은 기본 이미지보기 / 편집 프로그램 으로이 이미지를 열기 위해 ShellExecute를 사용하기 만하면됩니다. Shellexecute는 기본적으로 사용자가 파일을 두 번 클릭 한 것과 동일하게 작동합니다. 문제는 일반적으로 이미지 파일에서 Doublec-Licking이 미리보기를 엽니 다. 쉘렉스를 사용하여 그 이미지를 편집 해야하는 경우 가장 좋은 방법이 아닐 수도 있습니다.

이제 미리보기에서 바로 재판장을 편집하기 위해 이미지가 열리려면 Windows 레지스트리를 읽어야하는지 확인하여 특정 이미지 형식의보기 및 편집에 사용되는 프로그램에 대한 정보를 얻은 다음 CreateProcess API를 사용해야합니다. 대신 칼.

CreateProcess API 호출을 사용하여 해당 프로그램을 시작하여 시작 매개 변수로 이미지 위치를 전달하여 특정 프로그램으로 이미지를 열었는지 확인할 수 있습니다 (대부분의 이미지 편집 프로그램은 시작할 때 첫 번째 매개 변수를 파일로 열어 첫 번째 매개 변수를 펼칩니다

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