commandtargetquery 事件

应用于 请参阅

当 Active Document 宿主程序更新自己的用户界面时发生该事件。

语法

PROCEDURE Object.CommandTargetQuery
[LPARAMETERS aCommands, nCommandTextFlag, cCommandTextOut]

参数

aCommands

一个二维数组,其中包含一组 Active Document 宿主程序支持的命令。数组的第一列包含一些对应于 Active Document 宿主程序支持的命令的数值。有关命令列表和数值的详细内容,请参阅 CommandTargetExec 事件中的nCommandID 参数。

数组的第二列包含一些对应于每个命令的支持状态的数值。下表列出了第二列包含的数值,以及相应的每个命令的支持状态。

FOXPRO.H 常量 说明
0 CMDF_NOTSUPPORTED 该对象不支持该命令。
1 CMDF_SUPPORTED 该对象支持该命令。
2 CMDF_ENABLED 该命令可用而且已经启用。
4 CMDF_LATCHED 该命令可以开关切换,而且目前是打开的。
8 CMDF_NINCHED 该命令可以开关切换,但是由于在相关选择中,该命令的属性处于既开又关状态,所以该命令的状态无法确定。例如,这种状态对应于三种状态复选框的“不明状态”。

数组的第二列对于每个命令,初始都包含零。事件代码应该在第二列包含一个数值,以表明 Active Document 对每个命令的支持状态。可以任意组合这些值,以指定附加的支持级别。例如,一个命令支持 (1) 您的 ActiveDocument 过程,而且可用并启用了 (2),则可以在相应命令的第二列保存 3(1 + 2)。

nCommandTextFlag

从 Active Document 宿主程序传递到 CommandTargetExec 事件的一个参数。nCommandTextFlag 表明了通过 cCommandTextOut 参数传递给 ActiveDocument 宿主程序的命令信息的类型。下表列出了 nCommandTextFlag 的值,以及相应的传递给 Active Document 宿主程序的命令信息。

nCommandTextFlag 命令信息
0 不需要额外信息。
1 Active Document 应该提供命令的本地名称。
2 Active Document 应该提供命令的本地状态栏字符串。

cCommandTextOut

从 CommandTargetExec 事件传递给 Active Document 宿主程序的一个参数。cCommandTextOut 是为一个命令显示的文本,通常显示在 Active Document宿主程序的状态栏。cCommandTextOut 适用于数组中第一列的命令。

说明

commandtargetquery 事件允许通知一个 Active Document 的宿主程序,该 ActiveDocument 支持哪些命令,而且每个命令可用的支持类型。也可以指定当选中一个命令(通常是一个菜单项)时显示的文本。

对于 CommandTargetExec 和 commandtargetquery 事件,Visual FoxPro 利用IOleCommandTarget 接口。有关这些事件是如何实施的详细信息,可以在 MSDNlibrary 中搜索 IOleCommandTarget。

注意,Internet Explorer 3.0 和 4.0 通常不需要 cCommandTextOut 的命令文本。因此,nCommandTextFlag 通常为零,而且 cCommandTextOut 通常包含 null 值。包含这些参数,以便将来与 IOleCommandTarget 接口兼容,而且在您的应用程序中可以安全地忽略它们。