【问题标题】:cxgrid custom menuitem (open with) for Image field图像字段的 cxgrid 自定义菜单项(打开方式)
【发布时间】:2014-06-03 06:37:37
【问题描述】:

在 cxGrid 中,我有一个“图像”类型的列。(属性=图像,图形类名称=TJpegImage)。 在 PopUpMenuLayout - MenuItems 中,我添加了一个名为“Open With...”的 CustomMenuItem。 如何实现这个自定义菜单项,以便它使用 Paint(windows Paint)打开我的底层图像?或者至少触发“打开方式..”窗口对话框。

【问题讨论】:

标签: delphi devexpress delphi-xe4 tcxgrid


【解决方案1】:

如果您将图像存储在数据库中,那么您首先必须将其保存到计算机上的图像文件中。

然后您可以简单地使用 ShellExecute 使用默认图像查看/编辑程序打开此图像。 ShellExecute 的工作原理与用户双击您的文件基本相同。问题是通常双击图像文件会打开它的预览,因此如果您需要使用 ShellExecute 编辑该图像可能不是最好的方法。

现在,为了确保打开图像进行编辑而不是预览,您必须阅读 Windows 注册表以获取有关用于查看和编辑该特定图像格式的程序的信息,然后使用 CreateProcess API cal 代替。

您还可以通过使用 CreateProcess API 调用启动该程序并将图像位置作为启动参数传递来确保使用特定程序打开图像(大多数图像编辑程序将第一个参数视为文件以在启动时打开

【讨论】:

  • 我试图避免保存到磁盘。我想直接打开它——从 cxGrid 到默认图像编辑器。
  • 我在想....这就是为什么 devexpress 可能添加了自定义按钮,以便人们可以随心所欲地操纵图像..不知道....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
相关资源
最近更新 更多