国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
細品RibbonX(30):box元素詳解

box元素用來在組里指定的控件周圍放置一個可視的框,其主要目的是將控件作為一個單元組合在一起。

通常情況下,分配到組中的每個控件都被放置在先前的控件下面直到該列被填滿,然后下一個控件被放置在其右側(cè)列的頂行。然而,通過在框里面組合命令,可以將幾個控件視作一個整體,并且一次將整個組放置在功能區(qū)。這有助于我們方便地組織顯示的順序,不會使界面混亂,或者留下一些空白。

1、box元素必需的屬性

box元素需要下表1所列的id屬性之一。

1box元素必需的屬性

屬性

何時使用

id

當創(chuàng)建自已的框時

idQ

當在命名空間之間創(chuàng)建共享的框時

2、帶有回調(diào)簽名的可選的靜態(tài)屬性和動態(tài)屬性

雖然指定位置是可選的,但是如果選擇相對于另一個元素決定框的位置,那么必須使用下表2列出的任一insert屬性。

2box元素可選的insert屬性

INSERT屬性

允許值

默認值

何時使用

insertAfterMso

有效的Mso

在組末尾插入

Microsoft控件之后插入

insertBeforeMso

有效的Mso

在組末尾插入

Microsoft控件之前插入

insertAfterQ

有效的組idQ

在組末尾插入

在共享的命名空間控件之后插入

insertBeforeQ

有效的組idQ

在組末尾插入

在共享的命名空間控件之前插入

也可以為box元素設(shè)置下表3所列的可選的屬性和回調(diào)。

3box元素可選的屬性和回調(diào)

靜態(tài)屬性

動態(tài)屬性

允許值

默認值

動態(tài)屬性的VBA回調(diào)簽名

boxStyle

(none)

horizontal,vertical

horizontal

(none)

visible

getVisible

true,false,1,0

true

Sub GetVisible(control

 As IRibbonControl,

ByRef returnedVal)

3、box元素允許的子對象

box控件能夠包含各種各樣的RibbonX控件:

n         box

n         button

n         buttonGroup

n         checkbox

n         comboBox

n         control

n         dropDown

n         dynamicMenu

n         editBox

n         gallery

n         labelControl

n         menu

n         splitButton

n         toggleButton

注意,box控件也可以包含其它box控件,稱之為嵌套。

4、box元素的父對象

在下列任何控件內(nèi)都能放置box控件:

n         box

n         group

5、創(chuàng)建自定義的box元素

示例1

本示例演示使用水平的box控件的效果。

1)創(chuàng)建一個新的.xlsx文件,并將其保存為Excel box Example.xlsx

2)關(guān)閉該文件并在CustomUI Editor中打開。

3)輸入下列XML代碼:

<customUI xmlns=http://schemas.microsoft.com/office/2006/01/customui>

    <ribbon>

       <tabs>

           <tab id = rxtab_Demo

              label=Demo

              insertBeforeMso=TabHome>

              <group id=rxgrp_Demo

                  label=Demo Group>

                  <box id=rxboxFormat1

                     boxStyle=horizontal

                     visible=true>

                     <toggleButton idMso=Bold/>

                     <toggleButton idMso=Italic/>

                     <toggleButton idMso=Underline/>

                     <toggleButton idMso=UnderlineDouble/>

                  </box>

                  <button id=rxbtnHappy1

                     imageMso=HappyFace

                     label=Button 1/>

                  <button id=rxbtnHappy2

                     imageMso=HappyFace

                     label=Button 2/>

                  <button id=rxbtnHappy3

                     imageMso=HappyFace

                     label=Button 3/>

                  <button id=rxbtnHappy4

                     imageMso=HappyFace

                     label=Button 4/>

              </group>

           </tab>

       </tabs>

    </ribbon>

</customUI>

4)保存后關(guān)閉CustomUI Editor。

5)在Excel中重新打開該文件,下圖即為上述XML代碼創(chuàng)建的組。

 

創(chuàng)建了一個水平框?qū)⑺膫€格式元素組合在一起,允許其作為一個單元格移動。除了允許按鈕跨越一列外,水平組也在Button1Button2的右側(cè)創(chuàng)建了“空白”,而Button3Button4則沒有。

示例2

6)關(guān)閉Excel box Example.xlsx。

7)重新在CustomUI Editor中打開該文件。

8)修改XML代碼如下:

    boxStyle=horizontal

修改為:

    boxStyle=vertical

9)保存后關(guān)閉CustomUI Editor

10)在Excel中重新打開該文件,下圖即為上述XML代碼創(chuàng)建的組。

 

 

示例3

本示例除了演示嵌套的框控件外,還將展示使用getVisible回調(diào)控制框的可視性的效果。

示例中包含兩個box控件,每一個包含兩個前面示例中使用的格式控件。此外,每個框都宿于其父框里,允許用戶在功能區(qū)中預(yù)留垂直空間以便沒有其它按鈕在這些控件下面。同時,使用三個復(fù)選框來選擇哪個框可見。

1)新建一個工作簿,以.xlsm為擴展名保存后關(guān)閉。

2)在CustomUI Editor中打開該工作簿,并輸入下列XML代碼:

<customUI onLoad=rxIRibbonUI_onLoad xmlns=http://schemas.microsoft.com/office/2006/01/customui>

    <ribbon startFromScratch=false>

        <tabs>

            <tab id=rxtabDemo

                 insertBeforeMso=TabHome

                 label=Demo>

                 <group id=rxgrpDemo

                        label=Demo Group>

                        <box id=rxbox1

                             boxStyle=vertical

                             getVisible=rxboxshared_getVisible>

                             <box id=rxbox11

                                  boxStyle=horizontal

                                  getVisible=rxboxshared_getVisible>

                                  <toggleButton idMso=Bold/>

                                  <toggleButton idMso=Italic/>

                             </box>

                             <box id=rxbox12

                                  boxStyle=horizontal

                                  getVisible=rxboxshared_getVisible>

                                  <toggleButton idMso=Underline/>

                                  <toggleButton idMso=UnderlineDouble/>

                             </box>

                        </box>

                             <checkBox id=rxchkVisibleBox1

                                       label=Box 1 Visible?

                                       getPressed=rxchkShared_pressed

                                       onAction=rxchkShared_click/>

                             <checkBox id=rxchkVisibleBox11

                                       label=Box 1-1 Visible?

                                       getPressed=rxchkShared_pressed

                                       onAction=rxchkShared_click/>                                      

                             <checkBox id=rxchkVisibleBox12

                                       label=Box 1-2 Visible?

                                       getPressed=rxchkShared_pressed

                                       onAction=rxchkShared_click/>

                             <button id=rxbtnReset

                                     imageMso=HappyFace

                                     label=Reset All

                                     onAction=rxbtnReset_click/>

                </group>

            </tab>

        </tabs>

    </ribbon>

</customUI>

注意,本示例實際上共有三個box控件,其它兩個嵌套在第一個中。三個控件共享回調(diào)。當然,需要能夠使功能區(qū)無效以迫使box控件隱藏或顯示,因此需要捕獲RibbonUI對象。

3)生成回調(diào)簽名并復(fù)制后,關(guān)閉CustomUI Editor。

4)重新打開該工作簿,打開VBE,將回調(diào)簽名代碼粘貼到標準模塊,然后開始完善代碼。

首先,在模塊頂部聲明公共變量:

Dim rxIRibbonUI As IRibbonUI

Dim bBox1_Visible As Boolean

Dim bBox11_Visible As Boolean

Dim bBox12_Visible As Boolean

1行代碼中的變量用于存儲RibbonUI對象,能夠在后面使功能區(qū)無效。其它三個變量包含不同組的可視狀態(tài)。由于通過復(fù)選框控件控制,因此使用這些變量存儲與每個框相關(guān)的復(fù)選框的狀態(tài)。

除了在裝載時捕獲RibbonUI外,需要確保每個框控件是可見的。因此,onLoad回調(diào)代碼如下:

‘customUI.onLoad回調(diào)

Sub rxIRibbonUI_onLoad(ribbon As IRibbonUI)

    Set rxIRibbonUI = ribbon

    bBox1_Visible = True

    bBox11_Visible = True

    bBox12_Visible = True

End Sub

接下來,設(shè)置box控件的共享的getVisible回調(diào):

‘rxbox1,rxbox11,rxbox12 getVisible共享回調(diào)

Sub rxboxshared_getVisible(control As IRibbonControl, ByRef returnedVal)

    Select Case control.ID

        Case “rxbox1″

            returnedVal = bBox1_Visible

        Case “rxbox11″

            returnedVal = bBox11_Visible

        Case “rxbox12″

            returnedVal = bBox12_Visible

    End Select

End Sub

case語句評估觸發(fā)回調(diào)的控件,從變量中獲取合適的值并返回給RibbonUIgetPressed回調(diào)基于該變量處理復(fù)選框控件。

‘rxchkVisibleBox1,-Box11,-Box12 getPressed共享的回調(diào)

Sub rxchkShared_pressed(control As IRibbonControl, ByRef returnedVal)

    Select Case control.ID

        Case “rxchkVisibleBox1″

            returnedVal = bBox1_Visible

        Case “rxchkVisibleBox11″

            returnedVal = bBox11_Visible

        Case “rxchkVisibleBox12″

            returnedVal = bBox12_Visible

    End Select

End Sub

接下來,創(chuàng)建當單擊復(fù)選框時觸發(fā)的程序。修改可見的變量的值為當前“按下”狀態(tài)(truefalse),然后觸發(fā)功能區(qū)的無效。這種無效不僅僅觸發(fā)每一個box控件的getVisible回調(diào),也確保所有的復(fù)選框控件更新:

‘rxchkVisibleBox1,-Box11,-Box12 onAction共享的回調(diào)

Sub rxchkShared_click(control As IRibbonControl, pressed As Boolean)

    Select Case control.ID

        Case “rxchkVisibleBox1″

            bBox1_Visible = pressed

        Case “rxchkVisibleBox11″

            bBox11_Visible = pressed

        Case “rxchkVisibleBox12″

            bBox12_Visible = pressed

    End Select

    rxIRibbonUI.Invalidate

End Sub

最后是添加的按鈕的onAction回調(diào),便于設(shè)置每個控件為默認的可見狀態(tài):

‘rxbtnReset onAction共享回調(diào)使按鈕可見

Sub rxbtnReset_click(control As IRibbonControl)

    bBox1_Visible = True

    bBox11_Visible = True

    bBox12_Visible = True

    rxIRibbonUI.Invalidate

End Sub

好了!該測試用戶界面效果了。保存代碼并關(guān)閉工作簿,再重新打開該工作簿,如下圖所示。

  

試著清除復(fù)選框,相應(yīng)的控件將消失。單擊“Reset All”將使所有控件恢復(fù)可見。

注意,試圖使用getVisible回調(diào)設(shè)置父框為visible=”false”,將不會像您想像的那樣隱藏父框和所有的子控件。相反,父和子box控件將保持當前狀態(tài),控件本身是可見的并且工作,而任何試圖通過回調(diào)對嵌套控件狀態(tài)的修改都將忽略。這種影響將保留到父框控件的getVisible回調(diào)重新被設(shè)置為True

隱藏父box控件的唯一辦法是隱藏所有的子項。此時,父框控件將折疊并且不可見,即使其visible屬性被設(shè)置為True。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
B-box
VBA專題10-20:使用VBA操控Excel界面之隱藏和取消隱藏控件、組和選項卡
Android控件顯示和隱藏
ASP.NET服務(wù)器控件中Visible=false屬性于CSS中style=visibility hidden; 的區(qū)別
ASP.NET控件的Enable和Visible屬性說明
在Excel 中自定義菜單欄和工具欄-添加、刪除、禁止等
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服