电脑技术学习

基于Windows 7中的 Ribbon开发技术应用

dn001

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应用。

基于Windows 7中的 Ribbon开发技术应用

  命令处理程序OnCreateUICommand是调用每一个命令。看看下面的命令是XML格式。必须返回一个执行IUICommandHandler(AddRef ()+!)将处理命令两个成员函数:

HRESULT __stdcall UpdateProperty(UINT32 commandId,REFPROPERTYKEY key,        const PROPVARIANT *currentValue,PROPVARIANT *newValue);

  当命令调用执行时。这个"verb"是UI_EXECUTIONVERB枚举,并通知您,触发什么样的事件,例如,字体选择下拉,一个按钮按下等使用OnDestroyUICommand时,将没有必要了调用接口,但不调用Release() 。Ribbon将调用它。这只是通知你的目的是要被销毁,而不是请求释放它自己。

标签: