Frage

In cxgrid habe ich eine Spalte, die "Bild" ist. (Eigenschaften= Bild, GraphicClassName= TJPegImage). Zum Popupmenulayout - Menuitems habe ich ein Custommenuitem mit dem Namen "offen mit ..." hinzugefügt. Wie kann ich diesen benutzerdefinierten Menüpunkt implementieren, damit er mein zugrunde liegendes Bild mit Farbe (Windows Paint) öffnet?Oder zumindest den Windows-Dialog "Öffnen mit .." auslösen.

War es hilfreich?

Lösung

Wenn Sie Ihr Bild in einer Datenbank gespeichert haben, müssen Sie es zuerst in der Bilddatei auf Ihrem Computer speichern.

Dann können Sie dann einfach ShellexEcute verwenden, um dieses Bild mit einem Standardbild-Ansichts- / Bearbeitungsprogramm zu öffnen. ShelExecute funktioniert im Grunde derselbe, als hätte der Benutzer auf Ihre Datei doppelklickt. Das Problem ist, dass in der Regel DoubleC-Lecking auf der Bilddatei eine Vorschau davon öffnet, wenn Sie also bearbeiten müssen, dass das Bild mit dem ShellexEcute mit dem ShellexEcute nicht der beste Weg ist.

Nun, um sicherzustellen, dass das Image zum Bearbeiten von Rathen geöffnet wird als nur in der Vorschau, um die Windows Registry zu lesen, um Informationen darüber zu erhalten, über welches Programm zum Anzeigen und Bearbeiten dieses spezifischen Bildformats verwendet wird, und verwenden Sie die CreateProcess-API. stattdessen cal.

Sie können auch sicherstellen, dass das Bild mit einem bestimmten Programm geöffnet wird, indem Sie das Programm mit dem Programm mit dem CreateProcess-API-Anruf starten und den Bildort als Startup-Parameter übergeben (die meisten Bildbearbeitungsprogramme behandeln den ersten Parameter als Datei, um sich beim Start zu öffnen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top