Domanda

in cxgrid ho una colonna che è tipo "immagine". (Proprietà= immagine, graphicclassname= tjpegimage). Ai popupmenulayout - Menuiuits ho aggiunto un doganometro chiamato "Aperto con ...". Come posso implementare questa voce di menu personalizzata in modo che apre la mia immagine sottostante con la vernice (Windows Paint)?O almeno innescare la finestra di dialogo "Apri con ..".

È stato utile?

Soluzione

Se hai la tua immagine memorizzata in un database, devi prima salvarlo nel file immagine sul tuo computer.

Quindi è possibile utilizzare semplicemente Shelxecute per aprire questa immagine con il programma di visualizzazione / modifica dell'immagine predefinita. Shellexecute funziona praticamente come se l'utente avrebbe fatto doppio clic sul tuo file. Il problema è che di solito doublec-leccante sul file di immagine apre un'anteprima di esso, quindi se è necessario modificare tale immagine usando Shellexecute potrebbe non essere il modo migliore.

Ora per essere sicuro che l'immagine viene aperta per la modifica del rathen rispetto a un'anteprima, è necessario leggere il registro di sistema di Windows per ottenere informazioni su quale programma viene utilizzato per la visualizzazione e la modifica di tale formato immagine specifico e quindi utilizzare la API della creazione di immagini Cal invece.

È inoltre possibile assicurarsi che l'immagine sia aperta con un programma specifico avviando tale programma utilizzando la chiamata API di CreateProcess e passando la posizione dell'immagine come parametro di avvio (la maggior parte dei programmi di modifica dell'immagine tratta il primo parametro come file da aprire al momento dell'avvio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top