檢視原始碼 wxListbook (wx v2.4.3)
wxListbook
是一個類似於 wxNotebook
的類別,但它使用 wxListCtrl
來顯示標籤,而不是使用索引標籤。
預設情況下,底層的 wxListCtrl
會以單欄報表視圖顯示頁面標籤。呼叫 wxBookCtrl::SetImageList 會隱式地將控制項切換為使用圖示視圖。
如需此類別的使用文件,請參考基底抽象類別 wxBookCtrl。您也可以使用 page_samples_notebook 來查看 wxListbook
的實際操作。
樣式
此類別支援以下樣式
wxLB_DEFAULT:根據目前的平台選擇標籤的預設位置 (在 Mac 上為上方,其他平台皆為左方)。
wxLB_TOP:將標籤放置在頁面區域上方。
wxLB_LEFT:將標籤放置在左側。
wxLB_RIGHT:將標籤放置在右側。
wxLB_BOTTOM:將標籤放置在頁面區域下方。
參見
?wxBookCtrl
此類別繼承自下列類別,並可使用其函式:
wxWidgets 文件:wxListbook
事件
此類別發出的事件類型
摘要
函式
新增一個頁面。
循環瀏覽索引標籤。
設定頁面控制項的影像列表,並取得該列表的所有權。
將選取項目變更為給定的頁面,並傳回先前的選取項目。
建立已使用預設建構子建構的列表書控制項。
刪除所有頁面。
銷毀物件
傳回目前選取的頁面,若無則傳回 NULL。
傳回關聯的影像列表,若無則傳回 NULL。
傳回給定頁面位置的視窗。
傳回控制項中的頁面數量。
傳回給定頁面的影像索引。
傳回給定頁面的字串。
傳回目前選取的頁面,若未選取任何頁面,則傳回 wxNOT_FOUND
。
傳回指定位置的索引標籤索引,若無則傳回 wxNOT_FOUND
。
在指定位置插入新頁面。
預設建構子。
建構一個列表書控制項。
設定要使用的影像列表。
設定給定頁面的影像索引。
設定頁面的寬度和高度。
設定給定頁面的文字。
將選取項目設定為給定的頁面,並傳回先前的選取項目。
類型
-type wxListbook() :: wx:wx_object().
函式
-spec addPage(This, Page, Text) -> boolean() when This :: wxListbook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec addPage(This, Page, Text, [Option]) -> boolean() when This :: wxListbook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
新增一個頁面。
頁面必須將書本控制項本身作為父項,且之前不得新增至此控制項。
如果 select
為 true,則呼叫此函式會產生頁面變更和頁面已變更事件,但在插入第一個頁面時不會產生這些事件(因為在這種情況下沒有先前的頁面選取項目可以切換,因此否決此類事件沒有意義)。
傳回值:成功則傳回 true,否則傳回 false。
注意:不要刪除頁面,它將由書本控制項刪除。
參見:insertPage/5
-spec advanceSelection(This) -> ok when This :: wxListbook().
-spec advanceSelection(This, [Option]) -> ok when This :: wxListbook(), Option :: {forward, boolean()}.
循環瀏覽索引標籤。
呼叫此函式會產生頁面變更事件。
-spec assignImageList(This, ImageList) -> ok when This :: wxListbook(), ImageList :: wxImageList:wxImageList().
設定頁面控制項的影像列表,並取得該列表的所有權。
參見
-spec changeSelection(This, Page) -> integer() when This :: wxListbook(), Page :: integer().
將選取項目變更為給定的頁面,並傳回先前的選取項目。
此函式的行為與 setSelection/2
相同,但 不
產生頁面變更事件。
如需更多資訊,請參閱 overview_events_prog。
-spec create(This, Parent, Id) -> boolean() when This :: wxListbook(), Parent :: wxWindow:wxWindow(), Id :: integer().
-spec create(This, Parent, Id, [Option]) -> boolean() when This :: wxListbook(), Parent :: wxWindow:wxWindow(), Id :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
建立已使用預設建構子建構的列表書控制項。
-spec deleteAllPages(This) -> boolean() when This :: wxListbook().
刪除所有頁面。
-spec destroy(This :: wxListbook()) -> ok.
銷毀物件
-spec getCurrentPage(This) -> wxWindow:wxWindow() when This :: wxListbook().
傳回目前選取的頁面,若無則傳回 NULL。
-spec getImageList(This) -> wxImageList:wxImageList() when This :: wxListbook().
傳回關聯的影像列表,若無則傳回 NULL。
參見
-spec getPage(This, Page) -> wxWindow:wxWindow() when This :: wxListbook(), Page :: integer().
傳回給定頁面位置的視窗。
-spec getPageCount(This) -> integer() when This :: wxListbook().
傳回控制項中的頁面數量。
-spec getPageImage(This, NPage) -> integer() when This :: wxListbook(), NPage :: integer().
傳回給定頁面的影像索引。
-spec getPageText(This, NPage) -> unicode:charlist() when This :: wxListbook(), NPage :: integer().
傳回給定頁面的字串。
-spec getSelection(This) -> integer() when This :: wxListbook().
傳回目前選取的頁面,若未選取任何頁面,則傳回 wxNOT_FOUND
。
請注意,從 EVT_BOOKCTRL_PAGE_CHANGED
處理常式呼叫時,此方法可能會根據平台傳回先前或新選取的頁面,因此在這種情況下應使用 wxBookCtrlEvent:getSelection/1
。
-spec hitTest(This, Pt) -> Result when Result :: {Res :: integer(), Flags :: integer()}, This :: wxListbook(), Pt :: {X :: integer(), Y :: integer()}.
傳回指定位置的索引標籤索引,若無則傳回 wxNOT_FOUND
。
如果 flags
參數不是 NULL,也會傳回點在索引標籤內的位置。
傳回值:傳回從零開始的索引標籤索引,如果指定位置沒有索引標籤,則傳回 wxNOT_FOUND
。
-spec insertPage(This, Index, Page, Text) -> boolean() when This :: wxListbook(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata().
-spec insertPage(This, Index, Page, Text, [Option]) -> boolean() when This :: wxListbook(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Option :: {bSelect, boolean()} | {imageId, integer()}.
在指定位置插入新頁面。
傳回值:成功則傳回 true,否則傳回 false。
注意:不要刪除頁面,它將由書本控制項刪除。
參見:addPage/4
-spec new() -> wxListbook().
預設建構子。
-spec new(Parent, Id) -> wxListbook() when Parent :: wxWindow:wxWindow(), Id :: integer().
等同於 new(Parent, Id, [])
。
-spec new(Parent, Id, [Option]) -> wxListbook() 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 :: wxListbook(), ImageList :: wxImageList:wxImageList().
設定要使用的影像列表。
它不會取得影像列表的所有權,您必須自行刪除它。
參見
-spec setPageImage(This, Page, Image) -> boolean() when This :: wxListbook(), Page :: integer(), Image :: integer().
設定給定頁面的影像索引。
image
是影像列表中使用 setImageList/2
設定的索引。
-spec setPageSize(This, Size) -> ok when This :: wxListbook(), Size :: {W :: integer(), H :: integer()}.
設定頁面的寬度和高度。
注意:目前 wxGTK 未實作此方法。
-spec setPageText(This, Page, Text) -> boolean() when This :: wxListbook(), Page :: integer(), Text :: unicode:chardata().
設定給定頁面的文字。
-spec setSelection(This, Page) -> integer() when This :: wxListbook(), Page :: integer().
將選取項目設定為給定的頁面,並傳回先前的選取項目。
請注意,呼叫此函式會產生頁面變更事件,如果您不想產生這些事件,請使用 changeSelection/2
函式。