virtual HRESULT __stdcall OnCreateUICommand(UINT32 commandId, UI_COMMANDTYPE typeID,IUICommandHandler **commandHandler);
2、当ribbon被一个命令是释放时:
virtual HRESULT __stdcall OnDestroyUICommand(UINT32 commandId, UI_COMMANDTYPE typeID,IUICommandHandler *commandHandler);
3、当ribbon变化时,视图也被相应的改变:
virtual HRESULT __stdcall OnVIEwChanged(UINT32 viewId,UI_VIEWTYPE typeID, IUnknown *view,UI_VIEWVERB verb,INT32 uReasonCode);
-调用IUIFramework::Initialize( )与父窗口的ribbon,和执行IUIApplication 。 -调用IUIFramework::LoadUI( )与HINSTANCE和资源名称。
下面的图解释了需要采取的步骤,以实现一个简单的Ribbon应用。
命令处理程序OnCreateUICommand是调用每一个命令。看看下面的命令是XML格式。必须返回一个执行IUICommandHandler(AddRef ()+!)将处理命令两个成员函数:
HRESULT __stdcall UpdateProperty(UINT32 commandId,REFPROPERTYKEY key, const PROPVARIANT *currentValue,PROPVARIANT *newValue);
当命令调用执行时。这个"verb"是UI_EXECUTIONVERB枚举,并通知您,触发什么样的事件,例如,字体选择下拉,一个按钮按下等使用OnDestroyUICommand时,将没有必要了调用接口,但不调用Release() 。Ribbon将调用它。这只是通知你的目的是要被销毁,而不是请求释放它自己。
标签: