檢視原始碼 wxAuiNotebook (wx v2.4.3)
wxAuiNotebook
是 wxAUI 類別框架的一部分,它代表一個筆記本控制項,管理多個帶有相關標籤的視窗。
另請參閱 overview_aui。
wxAuiNotebook
是一個筆記本控制項,它實作了具有可停靠窗格的應用程式中常見的許多功能。具體來說,wxAuiNotebook
實作了允許使用者透過拖放重新排列標籤順序、將標籤視窗分割成許多不同的分割器組態,以及切換不同的主題來自訂控制項的外觀和風格的功能。
預設使用的主題是 wxAuiDefaultTabArt
(在 wx 中未實作),它提供了現代、有光澤的外觀和風格。可以透過呼叫 setArtProvider/2
來變更主題。
樣式
此類別支援以下樣式
wxAUI_NB_DEFAULT_STYLE: 定義為 wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_CLOSE_ON_ACTIVE_TAB | wxAUI_NB_MIDDLE_CLICK_CLOSE。
wxAUI_NB_TAB_SPLIT:允許透過拖曳標籤來分割標籤控制項。
wxAUI_NB_TAB_MOVE:允許透過拖曳來水平移動標籤。
wxAUI_NB_TAB_EXTERNAL_MOVE:允許將標籤移動到另一個標籤控制項。
wxAUI_NB_TAB_FIXED_WIDTH:使用此樣式,所有標籤都具有相同的寬度。
wxAUI_NB_SCROLL_BUTTONS:使用此樣式,會顯示左右滾動按鈕。
wxAUI_NB_WINDOWLIST_BUTTON:使用此樣式,可以使用視窗的下拉清單。
wxAUI_NB_CLOSE_BUTTON:使用此樣式,標籤列上會有一個關閉按鈕。
wxAUI_NB_CLOSE_ON_ACTIVE_TAB:使用此樣式,關閉按鈕在活動標籤上可見。
wxAUI_NB_CLOSE_ON_ALL_TABS:使用此樣式,關閉按鈕在所有標籤上都可見。
wxAUI_NB_MIDDLE_CLICK_CLOSE:使用此樣式,在標籤上按一下滑鼠中鍵會關閉標籤。
wxAUI_NB_TOP:使用此樣式,標籤會沿著筆記本的頂部繪製。
wxAUI_NB_BOTTOM:使用此樣式,標籤會沿著筆記本的底部繪製。
此類別衍生自以下類別,並且可以使用以下類別的函式:
wxWidgets 文件:wxAuiNotebook
事件
從此類別發出的事件類型
摘要
函式
新增頁面。
建立筆記本視窗。
使用給定的參數建構書籍控制項。
刪除給定索引處的頁面。
銷毀物件
傳回相關的繪圖提供者。
傳回給定索引所指定的頁面。
傳回頁面的標籤點陣圖。
傳回筆記本中的頁數。
傳回指定視窗的頁面索引。
傳回頁面的標籤文字。
傳回目前選取的頁面。
insertPage/6
類似於 AddPage,但允許指定插入位置的能力。
在指定的位置插入新頁面。
預設建構子。
建構子。
移除頁面,而不刪除視窗指標。
設定筆記本要使用的繪圖提供者。
設定用於繪製標籤文字的字型,並為選取的標籤文字使用粗體版本的字型。
設定頁面的點陣圖。
設定頁面的標籤文字。
設定頁面選取。
設定標籤高度。
確保所有標籤都具有相同的高度,即使某些標籤沒有點陣圖。
類型
-type wxAuiNotebook() :: wx:wx_object().
函式
-spec addPage(This, Page, Caption) -> boolean() when This :: wxAuiNotebook(), Page :: wxWindow:wxWindow(), Caption :: unicode:chardata().
-spec addPage(This, Page, Caption, [Option]) -> boolean() when This :: wxAuiNotebook(), Page :: wxWindow:wxWindow(), Caption :: unicode:chardata(), Option :: {select, boolean()} | {bitmap, wxBitmap:wxBitmap()}.
新增頁面。
如果 select
參數為 true,則呼叫此函式將產生頁面變更事件。
-spec addPage(This, Page, Text, Select, ImageId) -> boolean() when This :: wxAuiNotebook(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Select :: boolean(), ImageId :: integer().
新增一個頁面。
該頁面必須將書籍控制項本身作為父項,並且之前不得新增到此控制項。
呼叫此函式可能會產生頁面變更事件。
傳回值:成功則傳回 true,否則傳回 false。
備註:請勿刪除頁面,它將由書籍控制項刪除。
請參閱:insertPage/6
自:2.9.3
-spec create(This, Parent) -> boolean() when This :: wxAuiNotebook(), Parent :: wxWindow:wxWindow().
-spec create(This, Parent, Winid) -> boolean() when This :: wxAuiNotebook(), Parent :: wxWindow:wxWindow(), Winid :: integer(); (This, Parent, [Option]) -> boolean() when This :: wxAuiNotebook(), Parent :: wxWindow:wxWindow(), Option :: {id, integer()} | {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
建立筆記本視窗。
-spec create(This, Parent, Winid, [Option]) -> boolean() when This :: wxAuiNotebook(), Parent :: wxWindow:wxWindow(), Winid :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
使用給定的參數建構書籍控制項。
-spec deletePage(This, Page) -> boolean() when This :: wxAuiNotebook(), Page :: integer().
刪除給定索引處的頁面。
呼叫此方法將產生頁面變更事件。
-spec destroy(This :: wxAuiNotebook()) -> ok.
銷毀物件
-spec getArtProvider(This) -> wxAuiTabArt:wxAuiTabArt() when This :: wxAuiNotebook().
傳回相關的繪圖提供者。
-spec getPage(This, Page_idx) -> wxWindow:wxWindow() when This :: wxAuiNotebook(), Page_idx :: integer().
傳回給定索引所指定的頁面。
-spec getPageBitmap(This, Page) -> wxBitmap:wxBitmap() when This :: wxAuiNotebook(), Page :: integer().
傳回頁面的標籤點陣圖。
-spec getPageCount(This) -> integer() when This :: wxAuiNotebook().
傳回筆記本中的頁數。
-spec getPageIndex(This, Page_wnd) -> integer() when This :: wxAuiNotebook(), Page_wnd :: wxWindow:wxWindow().
傳回指定視窗的頁面索引。
如果在筆記本中找不到視窗,則會傳回 wxNOT_FOUND。
-spec getPageText(This, Page) -> unicode:charlist() when This :: wxAuiNotebook(), Page :: integer().
傳回頁面的標籤文字。
-spec getSelection(This) -> integer() when This :: wxAuiNotebook().
傳回目前選取的頁面。
-spec insertPage(This, Page_idx, Page, Caption) -> boolean() when This :: wxAuiNotebook(), Page_idx :: integer(), Page :: wxWindow:wxWindow(), Caption :: unicode:chardata().
-spec insertPage(This, Page_idx, Page, Caption, [Option]) -> boolean() when This :: wxAuiNotebook(), Page_idx :: integer(), Page :: wxWindow:wxWindow(), Caption :: unicode:chardata(), Option :: {select, boolean()} | {bitmap, wxBitmap:wxBitmap()}.
insertPage/6
類似於 AddPage,但允許指定插入位置的能力。
如果 select
參數為 true,則呼叫此函式將產生頁面變更事件。
-spec insertPage(This, Index, Page, Text, Select, ImageId) -> boolean() when This :: wxAuiNotebook(), Index :: integer(), Page :: wxWindow:wxWindow(), Text :: unicode:chardata(), Select :: boolean(), ImageId :: integer().
在指定的位置插入新頁面。
傳回值:成功則傳回 true,否則傳回 false。
備註:請勿刪除頁面,它將由書籍控制項刪除。
請參閱:addPage/5
自:2.9.3
-spec new() -> wxAuiNotebook().
預設建構子。
-spec new(Parent) -> wxAuiNotebook() when Parent :: wxWindow:wxWindow().
等同於 new(Parent, [])
。
-spec new(Parent, [Option]) -> wxAuiNotebook() when Parent :: wxWindow:wxWindow(), Option :: {id, integer()} | {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
建構子。
建立 wxAuiNotebok 控制項。
-spec removePage(This, Page) -> boolean() when This :: wxAuiNotebook(), Page :: integer().
移除頁面,而不刪除視窗指標。
-spec setArtProvider(This, Art) -> ok when This :: wxAuiNotebook(), Art :: wxAuiTabArt:wxAuiTabArt().
設定筆記本要使用的繪圖提供者。
-spec setFont(This, Font) -> boolean() when This :: wxAuiNotebook(), Font :: wxFont:wxFont().
設定用於繪製標籤文字的字型,並為選取的標籤文字使用粗體版本的字型。
-spec setPageBitmap(This, Page, Bitmap) -> boolean() when This :: wxAuiNotebook(), Page :: integer(), Bitmap :: wxBitmap:wxBitmap().
設定頁面的點陣圖。
若要從標籤標題中移除點陣圖,請傳遞 wxNullBitmap。
-spec setPageText(This, Page, Text) -> boolean() when This :: wxAuiNotebook(), Page :: integer(), Text :: unicode:chardata().
設定頁面的標籤文字。
-spec setSelection(This, New_page) -> integer() when This :: wxAuiNotebook(), New_page :: integer().
設定頁面選取。
呼叫此方法將產生頁面變更事件。
-spec setTabCtrlHeight(This, Height) -> ok when This :: wxAuiNotebook(), Height :: integer().
設定標籤高度。
依預設,標籤控制項高度是透過測量標籤標題上的文字高度和點陣圖大小來計算的。呼叫此方法將會覆寫該計算,並將標籤控制項設定為指定的高度參數。呼叫此方法將會覆寫任何對 setUniformBitmapSize/2
的呼叫。
將高度指定為 -1 會將控制項傳回其預設的自動調整大小行為。
-spec setUniformBitmapSize(This, Size) -> ok when This :: wxAuiNotebook(), Size :: {W :: integer(), H :: integer()}.
確保所有標籤都具有相同的高度,即使某些標籤沒有點陣圖。
將 ?wxDefaultSize 作為 size
傳遞,會取消先前呼叫此函式的效果,並指示控制項使用動態標籤高度。