檢視原始碼 wxChoicebook (wx v2.4.3)
wxChoicebook
是一個類似於 wxNotebook
的類別,但使用 wxChoice
控制項來顯示標籤,而不是使用選項卡。
有關此類別的使用說明文件,請參閱基礎抽象類別 wxBookCtrl。您也可以使用 page_samples_notebook 來查看 wxChoicebook
的實際運作情況。
wxChoicebook
允許使用 wxBookCtrlBase::GetControlSizer(),讓程式可以在選擇控制項旁邊添加其他控制項。當螢幕空間受限時,這特別有用,因為當使用 wxChoicebook
時通常是這樣。
樣式
此類別支援以下樣式
wxCHB_DEFAULT:根據目前平台選擇標籤的預設位置(但目前所有平台都相同,即 wxCHB_TOP)。
wxCHB_TOP:將標籤放置在頁面區域上方。
wxCHB_LEFT:將標籤放置在左側。
wxCHB_RIGHT:將標籤放置在右側。
wxCHB_BOTTOM:將標籤放置在頁面區域下方。
請參閱
此類別繼承自以下類別,可以使用這些類別的函式:
wxWidgets 文件: wxChoicebook
事件
從此類別發出的事件類型
摘要
函式
新增一個頁面。
循環瀏覽選項卡。
設定頁面控制項的影像清單,並取得該清單的所有權。
將選取項目變更為指定的頁面,並傳回先前的選取項目。
建立已經使用預設建構函式建構的 choicebook 控制項。
刪除所有頁面。
銷毀物件
傳回目前選取的頁面,若沒有選取頁面則傳回 NULL。
傳回關聯的影像清單,可能為 NULL。
傳回指定頁面位置的視窗。
傳回控制項中的頁面數量。
傳回指定頁面的影像索引。
傳回指定頁面的字串。
傳回目前選取的頁面,若沒有選取頁面則傳回 wxNOT\_FOUND
。
傳回指定位置的選項卡索引,若沒有則傳回 wxNOT\_FOUND
。
在指定位置插入新的頁面。
建構一個 choicebook 控制項。
設定要使用的影像清單。
設定指定頁面的影像索引。
設定頁面的寬度和高度。
設定指定頁面的文字。
將選取項目設定為指定的頁面,並傳回先前的選取項目。
類型
-type wxChoicebook() :: wx:wx_object().
函式
-spec addPage(This, Page, Text) -> boolean() when This :: wxChoicebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec addPage(This, Page, Text, [Option]) -> boolean() when This :: wxChoicebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
新增一個頁面。
頁面必須將書籤控制項本身作為父物件,且先前不得加入到此控制項。
如果 select
為 true,則呼叫此函式會產生頁面變更和頁面已變更事件,但在插入第一個頁面時不會產生(因為在這種情況下沒有先前頁面的選取項目可以切換,因此否決此類事件是沒有意義的)。
傳回值:如果成功則傳回 true,否則傳回 false。
注意:不要刪除頁面,它將由書籤控制項刪除。
請參閱:insertPage/5
-spec advanceSelection(This) -> ok when This :: wxChoicebook().
-spec advanceSelection(This, [Option]) -> ok when This :: wxChoicebook(), Option :: {forward, boolean()}.
循環瀏覽選項卡。
呼叫此函式會產生頁面變更事件。
-spec assignImageList(This, ImageList) -> ok when This :: wxChoicebook(), ImageList :: wxImageList:wxImageList().
設定頁面控制項的影像清單,並取得該清單的所有權。
請參閱
-spec changeSelection(This, Page) -> integer() when This :: wxChoicebook(), Page :: integer().
將選取項目變更為指定的頁面,並傳回先前的選取項目。
此函式的行為與 setSelection/2
相同,但不產生頁面變更事件。
如需更多資訊,請參閱 overview_events_prog。
-spec create(This, Parent, Id) -> boolean() when This :: wxChoicebook(), Parent :: wxWindow:wxWindow(), Id :: integer().
-spec create(This, Parent, Id, [Option]) -> boolean() when This :: wxChoicebook(), Parent :: wxWindow:wxWindow(), Id :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
建立已經使用預設建構函式建構的 choicebook 控制項。
-spec deleteAllPages(This) -> boolean() when This :: wxChoicebook().
刪除所有頁面。
-spec destroy(This :: wxChoicebook()) -> ok.
銷毀物件
-spec getCurrentPage(This) -> wxWindow:wxWindow() when This :: wxChoicebook().
傳回目前選取的頁面,若沒有選取頁面則傳回 NULL。
-spec getImageList(This) -> wxImageList:wxImageList() when This :: wxChoicebook().
傳回關聯的影像清單,可能為 NULL。
請參閱
-spec getPage(This, Page) -> wxWindow:wxWindow() when This :: wxChoicebook(), Page :: integer().
傳回指定頁面位置的視窗。
-spec getPageCount(This) -> integer() when This :: wxChoicebook().
傳回控制項中的頁面數量。
-spec getPageImage(This, NPage) -> integer() when This :: wxChoicebook(), NPage :: integer().
傳回指定頁面的影像索引。
-spec getPageText(This, NPage) -> unicode:charlist() when This :: wxChoicebook(), NPage :: integer().
傳回指定頁面的字串。
-spec getSelection(This) -> integer() when This :: wxChoicebook().
傳回目前選取的頁面,若沒有選取頁面則傳回 wxNOT\_FOUND
。
請注意,當從 EVT_BOOKCTRL_PAGE_CHANGED
處理常式呼叫時,此方法可能會傳回先前或新選取的頁面,具體取決於平台,因此在此情況下應改用 wxBookCtrlEvent:getSelection/1
。
-spec hitTest(This, Pt) -> Result when Result :: {Res :: integer(), Flags :: integer()}, This :: wxChoicebook(), Pt :: {X :: integer(), Y :: integer()}.
傳回指定位置的選項卡索引,若沒有則傳回 wxNOT\_FOUND
。
如果 flags
參數不是 NULL,則也會傳回點在選項卡內的位置。
傳回值:如果指定位置沒有選項卡,則傳回從零開始的選項卡索引或 wxNOT_FOUND
。
-spec insertPage(This, Index, Page, Text) -> boolean() when This :: wxChoicebook(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec insertPage(This, Index, Page, Text, [Option]) -> boolean() when This :: wxChoicebook(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
在指定位置插入新的頁面。
傳回值:如果成功則傳回 true,否則傳回 false。
注意:不要刪除頁面,它將由書籤控制項刪除。
請參閱:addPage/4
-spec new() -> wxChoicebook().
建構一個 choicebook 控制項。
-spec new(Parent, Id) -> wxChoicebook() when Parent :: wxWindow:wxWindow(), Id :: integer().
等同於 new(Parent, Id, [])
。
-spec new(Parent, Id, [Option]) -> wxChoicebook() when Parent :: wxWindow:wxWindow(), Id :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
-spec setImageList(This, ImageList) -> ok when This :: wxChoicebook(), ImageList :: wxImageList:wxImageList().
設定要使用的影像清單。
它不會取得影像清單的所有權,您必須自行刪除它。
請參閱
-spec setPageImage(This, Page, Image) -> boolean() when This :: wxChoicebook(), Page :: integer(), Image :: integer().
設定指定頁面的影像索引。
image
是影像清單中的索引,該清單已使用 setImageList/2
設定。
-spec setPageSize(This, Size) -> ok when This :: wxChoicebook(), Size :: {W :: integer(), H :: integer()}.
設定頁面的寬度和高度。
注意:此方法目前未針對 wxGTK 實作。
-spec setPageText(This, Page, Text) -> boolean() when This :: wxChoicebook(), Page :: integer(), Text :: unicode:chardata().
設定指定頁面的文字。
-spec setSelection(This, Page) -> integer() when This :: wxChoicebook(), Page :: integer().
將選取項目設定為指定的頁面,並傳回先前的選取項目。
請注意,呼叫此函式會產生頁面變更事件,如果您不希望產生這些事件,請使用 changeSelection/2
函式。
請參閱:getSelection/1