Question

dans cxgrid, j'ai une colonne qui est "image" type. (Propriétés= image, graphiqueClassName= tjpegimage). À la popupmenulayout - Menuitems J'ai ajouté un Custommenuitem appelé "Ouvrir avec ...". Comment puis-je implémenter cet élément de menu personnalisé afin qu'il ouvre mon image sous-jacente avec la peinture (peinture de Windows)?Ou au moins déclencher la boîte de dialogue "Ouvrir avec.".

Était-ce utile?

La solution

Si votre image est stockée dans une base de données, vous devez d'abord l'enregistrer dans un fichier image sur votre ordinateur.

Ensuite, vous pouvez simplement utiliser Shellexecute pour ouvrir cette image avec le programme d'affichage / modification d'images par défaut. Shellexecute fonctionne fondamentalement la même chose que si l'utilisateur aurait double-cliqué sur votre fichier. Le problème est que, généralement la léchage de DoubleC-Licking sur un fichier image, ouvre un aperçu de celui-ci, donc si vous devez modifier cette image à l'aide de Shellexecute pourrait ne pas être le meilleur moyen.

Maintenant pour être sûr que l'image est ouverte pour édition de Rathen que simplement dans l'aperçu, vous devriez lire le registre Windows pour obtenir des informations sur le programme utilisé pour la visualisation et l'édition de ce format d'image spécifique, puis utilisez CreateProcess API. cal à la place.

Vous pouvez également vous assurer que l'image est ouverte avec un programme spécifique en démarrant ce programme à l'aide de l'appel de CreateProcess API et en passant l'emplacement d'image en tant que paramètre de démarrage (la plupart des programmes d'édition d'image traiter le premier paramètre comme fichier à ouvrir au démarrage

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top