跳轉至內容

Futurebasic/語言/參考/def embedbutton

來自華夏公益教科書,自由的教學資源

DEF EMBEDBUTTON 語句

[編輯 | 編輯原始碼]

DEF EMBEDBUTTON

[編輯 | 編輯原始碼]

✔ 外觀 ✔ 標準 ✔ 控制檯

DEF EMBEDBUTTON(childButtonID&, parentButtonID&)

2002 年 2 月(版本 6)

外觀管理器可以在單個父按鈕(或超級控制元件)中嵌入多個按鈕(子控制元件)。事實上,按鈕可以嵌入到按鈕中,而按鈕又可以嵌入到其他按鈕中。其優勢是巨大的。舉個例子:每個視窗都有一個根控制元件。視窗中的所有按鈕都嵌入到這個根控制元件中,或者嵌入到它的子控制元件之一中。當視窗變為非活動狀態時,根控制元件被停用。透過這一條指令(由 FB 執行時實現),視窗中的所有其他控制元件都會自動被停用。

其多功能性擴充套件到諸如在選項卡控制元件中顯示或隱藏窗格,或在組中嵌入按鈕。

以下示例建立了一個單選按鈕組,並將各個按鈕嵌入到超級控制元件中。因此,您可以輪詢組按鈕以找出當前選中的哪個單選子控制元件。

影像 d/DEF%20EMBEDBUTTON02.gif

DIM r as rect
DIM pR as rect
DIM h as handle
DIM bRef as long
DIM err as OSErr

// 建立一個視窗
SETRECT(r,0,0,_btnWd_btnMargin_btnMargin,120)

APPEARANCE WINDOW 1,,@r

err = FN SETTHEMEWINDOWBACKGROUND( window( _wndPointer ),¬
  _kThemeActiveDialogBackgroundBrush, _zTrue )

// 按鈕 #1 是父按鈕
// 請注意,父按鈕有足夠的空間,以便 // 它在其自己的矩形內容納所有嵌入的按鈕

SETRECT(r,_btnMargin,_btnMargin,¬
  _btnMargin_btnWd,(_btnMargin_btnHt)*3)
APPEARANCE BUTTON bRef,_activeBtn,0,0,1,¬
  "",@r,_kControlRadioGroupProc

bRef ++
SETRECT(r,_btnMargin,_btnMargin,_btnMargin_btnWd,¬
  _btnMargin_btnHt)
APPEARANCE BUTTON bRef,_activeBtn,0,0,1,¬
  "單選按鈕 1",@r,_kControlRadioButtonProc
DEF EMBEDBUTTON(bRef,1)

bRef ++ : offsetrect(r,0,_btnHt_btnMargin)
APPEARANCE BUTTON bRef,_activeBtn,0,0,1,¬
  "單選按鈕 2",@r,_kControlRadioButtonProc
DEF EMBEDBUTTON(bRef,1)

bRef ++ : offsetrect(r,0,_btnHt_btnMargin)
APPEARANCE BUTTON bRef,_activeBtn,0,0,1,¬
  "單選按鈕 3",@r,_kControlRadioButtonProc
DEF EMBEDBUTTON(bRef,1)

LOCAL FN handleDialog
  DIM AS LONG action,reference
  action = DIALOG(0)
  reference = DIALOG(action)
  LONG IF action = _btnclick
    MOVETO(8,100)
    PRINT "當前按鈕 ";button(1);
  END IF
END FN

ON DIALOG FN handleDialog

DO
  HANDLEEVENTS
UNTIL
0

華夏公益教科書