Pergunta

no cxGrid Eu tenho uma coluna que é o tipo "imagem". (Propriedades= imagem, GraphicClassName= TJPEGIMAGE). Para o popupmenulayout - Menuitems adicionei um custommenuitem chamado "aberto com ...". Como posso implementar este item de menu personalizado para que ele abre minha imagem subjacente com tinta (Windows Paint)?Ou pelo menos acionar o diálogo "aberto com." "

Foi útil?

Solução

Se você tiver sua imagem armazenada em um banco de dados, então você terá que salvá-lo no arquivo de imagem no seu computador.

Então você pode simplesmente usar Shellexecute para abrir esta imagem com o programa de visualização / edição de imagem padrão. O Shellexecute funciona basicamente o mesmo que se o usuário clicasse duas vezes no seu arquivo. O problema é que geralmente DoubleC-lambendo no arquivo de imagem abre uma prévia dela por isso, se você precisar editar essa imagem usando o Shellexecute pode não ser a melhor maneira.

Agora, a fim de ter certeza de que a imagem é aberta para editar Rathen do que apenas na visualização, você teria que ler o registro do Windows para obter informações sobre qual programa é usado para visualização e edição desse formato de imagem específico e, em seguida, use o CreateProcess API cal em vez disso.

Você também pode certificar-se de que a imagem é aberta com um programa específico, iniciando esse programa usando chamada CreateProcess API e passando o local de imagem como parâmetro de inicialização (a maioria dos programas de edição de imagens tratam o primeiro parâmetro como arquivo para abrir após a inicialização

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top