示例#1
0
        int IContextMenu.GetCommandString(IntPtr commandIdOffset, GetCommandStringOptions flags, int reserved, IntPtr result, int charCount)
        {
            Debug.WriteLine("[{0}] ContextMenuBase.IContextMenu.GetCommandString (commandIdOffset={1}, flags={2}, result={3}, charCount={4})",
                            Id, commandIdOffset, flags, result, charCount);

            switch (flags)
            {
            case GetCommandStringOptions.HelpText:
                var index = commandIdOffset.ToInt32();
                var item  = menuItems[index];
                StringToPtr(item.HelpText, result, charCount);
                return(HResults.Ok);

            case GetCommandStringOptions.CanonicalVerb:
            case GetCommandStringOptions.CanonicalVerbAnsi:
                return(HResults.ErrorFail);

            default:
                throw new NotSupportedException();
            }
        }
示例#2
0
 int IContextMenu3.GetCommandString(IntPtr idCommand, GetCommandStringOptions uflags, int reserved, IntPtr name, int cch)
 {
     return(((IContextMenu)this).GetCommandString(idCommand, uflags, reserved, name, cch));
 }