电脑技术学习

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

dn001

  因此,如果您只是想重定向消息到WM_COMMAND ,您检查update ==false,erb== UI_EXECUTIONVERB_EXECUTE ,和type == UI_COMMANDTYPE_ACTION 。

LRESULT CALLBACK Main_DP(HWND hh,UINT mm,WPARAM ww,LPARAM ll) 
 { 
     if (mm == MESSAGE_RIBBON) 
         { 
        RIBBON_MESSAGE* rm = (RIBBON_MESSAGE*)ll; 
        if (!rm) 
        if (rm->update == false && rm->verb == UI_EXECUTIONVERB_EXECUTE 
                                 && rm->type == UI_COMMANDTYPE_ACTION) 
            SendMessage(hh,WM_COMMAND,rm->cmd,0); 
        } 
 }

  分析Ribbon的XML数据格式由于ribbon本质上是一个代表性的一个XML地图,在这里您将实际花费大部分的时间来制定一个好的和工作ribbon.。

  ribbon 基本要素:一套命令,每个人可以有一个ID,一个符号,一个标签,一个提示,和一套图像。您定义这些命令为"按钮"和其他因素,如标签或一组标签。一套要素,包括一个"应用程序的菜单" ,一个"快速访问工具栏"和"ribbon" ,其中载有一些标签。每个标签可以有一些组,每个组都可以有一些预定义的控制。

  这些组都必须标明具体的"大小"和布局;所以举例来说,如果你想说, 6组内的按钮,你只有三种预定义的方式,安排他们。 这里是一组实例命令:

<Command Name="cmdNew" 
 LabelTitle="New " Symbol="cmdNew" 
   Comment="New" 
 Id="22001" 
 TooltipTitle="Tooltip Title" 
   TooltipDescription="Tooltip Text"> 
     <Command.SmallImages> 
        <Image>1-32a.bmp</Image> 
       </Command.SmallImages> 
      <Command.LargeImages> 
        <Image>1-32a.bmp</Image> 
      </Command.LargeImages> 
    </Command> 
<Command Name="cmdOpen" LabelTitle="Open "    Symbol="cmdOpen" Comment="Open" Id="22002" /> 
<Command Name="cmdSave" LabelTitle="Save "    Symbol="cmdSave" Comment="Save" Id="22003" /> 
<Command Name="Tab1" LabelTitle="First Tab" Symbol="_44" Id="30001"/> 
<Command Name="Tab2" LabelTitle="Second Tab" Id="30002"/> 
<Command Name="cx1" LabelTitle="Check Box 1" /> 
<Command Name="Font1" LabelTitle="Font Selection1" /> 
<Command Name="cpick1" LabelTitle="Choose Color" /> 
<Command Name="cmdn1" LabelTitle="Main Menu" /> 
<Command Name="g1" LabelTitle="Group 1" />

标签: