檢視原始碼 wxBookCtrlBase (wx v2.4.3)
書本控制項是一種方便的方式,可以一次顯示多個資訊頁面,一次顯示一個頁面。
wxWidgets 有五種此控制項的變體
wxChoicebook
: 由wxChoice
控制wxListbook
: 由wxListCtrl
控制wxNotebook
: 使用一列標籤wxTreebook
: 由wxTreeCtrl
控制wxToolbook
: 由wxToolBar
控制
此抽象類別是所有這些書本控制項的父類別,並提供它們的基本介面。這是一個純虛擬類別,因此您無法直接配置它。
此類別衍生自,並且可以使用來自以下類別的函式
wxWidgets 文件:wxBookCtrlBase
摘要
函式
新增一個新頁面。
循環切換標籤。
將選取項目變更為給定的頁面,並傳回先前的選取項目。
刪除所有頁面。
刪除指定的頁面以及相關聯的視窗。
傳回目前選取的頁面或 NULL。
傳回給定頁面位置的視窗。
傳回控制項中的頁面數量。
傳回給定頁面的字串。
傳回目前選取的頁面,如果沒有選取任何頁面,則傳回 wxNOT\_FOUND
。
傳回指定位置的標籤索引,如果沒有標籤,則傳回 wxNOT\_FOUND
。
在指定位置插入一個新頁面。
刪除指定的頁面,而不刪除相關聯的視窗。
設定給定頁面的文字。
將選取項目設定為給定的頁面,並傳回先前的選取項目。
類型
-type wxBookCtrlBase() :: wx:wx_object().
函式
-spec addPage(This, Page, Text) -> boolean() when This :: wxBookCtrlBase(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec addPage(This, Page, Text, [Option]) -> boolean() when This :: wxBookCtrlBase(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
新增一個新頁面。
該頁面必須將書本控制項本身作為父項,並且之前不得新增至此控制項。
如果 select
為 true,則對此函式的呼叫將會產生頁面變更和頁面已變更的事件,但在插入第一個頁面時不會(因為在這種情況下沒有先前的頁面選取項目可切換,因此否決此類事件沒有意義)。
傳回:如果成功,則傳回 true,否則傳回 false。
註解:請勿刪除頁面,它將由書本控制項刪除。
請參閱:insertPage/5
-spec advanceSelection(This) -> ok when This :: wxBookCtrlBase().
-spec advanceSelection(This, [Option]) -> ok when This :: wxBookCtrlBase(), Option :: {forward, boolean()}.
循環切換標籤。
對此函式的呼叫會產生頁面變更事件。
-spec changeSelection(This, Page) -> integer() when This :: wxBookCtrlBase(), Page :: integer().
將選取項目變更為給定的頁面,並傳回先前的選取項目。
此函式的行為與 setSelection/2
相同,但不產生頁面變更事件。
如需更多資訊,請參閱 overview_events_prog。
-spec deleteAllPages(This) -> boolean() when This :: wxBookCtrlBase().
刪除所有頁面。
-spec deletePage(This, Page) -> boolean() when This :: wxBookCtrlBase(), Page :: integer().
刪除指定的頁面以及相關聯的視窗。
當刪除目前選取的頁面或索引順序中位於其之前的頁面時,對此函式的呼叫會產生頁面變更事件,但當刪除最後一頁時,它不會傳送任何事件:雖然在這種情況下選取項目也會變更,但它會變成無效,並且為了相容性,控制項永遠不會產生具有無效選取索引的事件。
-spec getCurrentPage(This) -> wxWindow:wxWindow() when This :: wxBookCtrlBase().
傳回目前選取的頁面或 NULL。
-spec getPage(This, Page) -> wxWindow:wxWindow() when This :: wxBookCtrlBase(), Page :: integer().
傳回給定頁面位置的視窗。
-spec getPageCount(This) -> integer() when This :: wxBookCtrlBase().
傳回控制項中的頁面數量。
-spec getPageText(This, NPage) -> unicode:charlist() when This :: wxBookCtrlBase(), NPage :: integer().
傳回給定頁面的字串。
-spec getSelection(This) -> integer() when This :: wxBookCtrlBase().
傳回目前選取的頁面,如果沒有選取任何頁面,則傳回 wxNOT\_FOUND
。
請注意,當從 EVT_BOOKCTRL_PAGE_CHANGED
處理常式呼叫時,此方法可能會傳回先前或新選取的頁面,這取決於平台,因此在這種情況下應改用 wxBookCtrlEvent:getSelection/1
。
-spec hitTest(This, Pt) -> Result when Result :: {Res :: integer(), Flags :: integer()}, This :: wxBookCtrlBase(), Pt :: {X :: integer(), Y :: integer()}.
傳回指定位置的標籤索引,如果沒有標籤,則傳回 wxNOT\_FOUND
。
如果 flags
參數為非 NULL,則也會傳回點在標籤內的位子。
傳回:傳回從零開始的標籤索引,如果指定位置沒有標籤,則傳回 wxNOT_FOUND
。
-spec insertPage(This, Index, Page, Text) -> boolean() when This :: wxBookCtrlBase(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec insertPage(This, Index, Page, Text, [Option]) -> boolean() when This :: wxBookCtrlBase(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
在指定位置插入一個新頁面。
傳回:如果成功,則傳回 true,否則傳回 false。
註解:請勿刪除頁面,它將由書本控制項刪除。
請參閱:addPage/4
-spec removePage(This, Page) -> boolean() when This :: wxBookCtrlBase(), Page :: integer().
刪除指定的頁面,而不刪除相關聯的視窗。
有關此函式產生的事件的注意事項,請參閱 deletePage/2
。
-spec setPageText(This, Page, Text) -> boolean() when This :: wxBookCtrlBase(), Page :: integer(), Text :: unicode:chardata().
設定給定頁面的文字。
-spec setSelection(This, Page) -> integer() when This :: wxBookCtrlBase(), Page :: integer().
將選取項目設定為給定的頁面,並傳回先前的選取項目。
請注意,對此函式的呼叫會產生頁面變更事件,如果您不希望產生這些事件,請使用 changeSelection/2
函式。
請參閱:getSelection/1