Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

Phi::PageControl

Phi::PageControl?

複数ページのダイアログボックスを作成するために使うページセット

Phi::PageControl は,複数ページのダイアログボックスやタブ付きノートブックを作成するために使う。 Phi::PageControl は, 重なり合った複数のページ(Phi::TabSheet オブジェクト)を表示する。ページを選択するには,コントロールの上部にあるページのタブをクリックする。

Phi::PageControl を親とする新たな Phi::TabSheet オブジェクトを生成する事により、タブを追加できる。

Phi::TabControl と異なり、それぞれのページに別々なコントロールを配置可能。

継承関係

Phi::PageControl? < Phi::WinControl < Phi::Control < Phi::Component < Phi::Persistent < Object

プロパティ

active_page : Phi::TabSheet

現在表示しているページ。

active_page は,ユーザーがどのページを選択しているかを示す。ページを選択するには,ページに付いているタブをクリックする。 active_page を設定すると,ページを一番手前に表示できる。アクティブになるページは一度に 1 つだけだ。

アクティブなページの次または前のページに変更するには, select_next_page を使う。

特定のページを位置付けるためにすべてのページを反復するには, find_next_page を使う。

active_page_index : Fixnum?

現在、ページコントロール中何番目のページを表示しているか(アクティブになっているか)。アクティブページが存在しない場合には -1 。

このプロパティは active_page と連動しており、片方を変更すればもう片方も自動的に変更される。

hot_track : Boolean

true の場合、マウスカーソルがタブの上にあるとき、そのタブのラベルを強調表示する。

images : Phi::ImageList

multi_line : Boolean

タブを複数の行で表示するかどうか。

true の場合
タブの数がタブコントロールの最上部の 1 列で収まりきらないと複数の行でタブが表示される。その行数はタブコントロールのタブ数で決まる。
false の場合
1 行だけでタブが表示され,収まりきらないとユーザーはスクロールしてタブを表示することになる。

owner_draw : Boolean

OwnerDraw? プロパティは,タブコントロールがそれ自身のペイントを処理するかどうかを指定します。OwnerDraw プロパティを True に設定すると,デフォルトのすべてのペイント動作をオーバーライドできます。(VCL6.0リファレンスより)

scroll_opposite : Boolean

ScrollOpposite? を設定すると,複数行のタブコントロールでユーザーがほかの行のタブを選択したときに前のタブ行がどこに移動するかを指定できます。ScrollOpposite が True の場合,前のタブ行は TabPosition? が tpTop ならばタブコントロールの最下部に移動し,TabPosition が tpBottom ならば最上部に移動します。ScrollOpposite が False の場合,前の行はほかのすべてのタブ行の背後に移動します。

たとえばタブ行が 3 行のタブコントロールで,ユーザーが 2 行目のタブを選択した場合に ScrollOpposite? は 1 行目のタブ行がどこに移動するかを決めます。ScrollOpposite が True の場合,2 行目はタブコントロールの最上部で一番手前(最下部のタブ行)に表示され,その後ろ(1 行上のタブ行)には 3 行目のタブ行が表示されます。1 行目のタブ行はタブコントロールの最下部に移動します。ScrollOpposite が False の場合,1 行目は 2 行目に移動し,タブコントロールが 2 行目を手前(タブ領域の最下部)に,次に 1 行目(移動によって 2 行目)を,そして 3 行目を表示できるようにします。

注意:ScrollOpposite を True に設定すると自動的に MultiLine? プロパティが True に設定されます。(VCL6.0リファレンスより)

ragged_right: Boolean

RaggedRight? プロパティは,コントロールの幅を収められるようにタブ行を拡張するかどうかを指定します。 (VCL6.0リファレンスより)

style : Phi-TabStyle?

タブの外観。次のいずれかで指定する。

TS_TABS
標準のノートブック型タブ。
TS_BUTTONS
ボタン型タブ。
TS_FLAT_BUTTONS
平らなボタン型タブ。

tab_height : Fixnum?

各タブの高さ(ピクセル単位)。0 に設定すると自動調整される。

tab_position : Phi-TabPosition?

tab_width : Fixnum?

各タブの横幅(ピクセル単位)。0 に設定すると自動調整される。

メソッド

can_show_tab(tab_index) : Boolean

tab_index 番目のタブが選択可能(Phi::TabSheet#enabled が true)であれば true を返す。

find_next_page(cur_page, go_forward=true, check_tab_visible=true) : Phi::TabSheet

指定されたページの前後にあるページを返す。

cur_page
Phi::TabSheet: このページに相対する位置を使って位置付ける。
go_forward
Boolean:
true の場合
cur_page の後のページを返す。 cur_page が存在しない,あるいは cur_page が最後のページである場合,最初のページを返す。
false の場合
cur_page の前のページを返す。 cur_page が存在しない,あるいは cur_page が最初のページである場合,最後のページを返す。
check_tab_visible
Boolean:Phi::TabSheet#tab_visible が false に設定されているページを検索対象に含めるか否か。 true の場合は含めないが false の場合は含める。

page_count : Fixnum

self に入っているページ数を返す。

multi_line プロパティが false の場合,すべてのページが表示されているとは限らない。

pages(index) : Phi::TabSheet

index 番目のページを表す Phi::TabSheet オブジェクトを返す。

別のページに相対するページの位置を特定するには, find_next_page を使う。

select_next_page(go_forward=true) : nil

active_page を、現在アクティブなページの前後で表示されている隣のページに変更する。

go_forward
Boolean:
true の場合
active_page の直後のページを選択する。
false の場合
active_page の直前のページを選択する。

select_next_page が探す対象とするのは, Phi::TabSheet#tab_visible が true に設定されたページだけだ。

イベント

on_change(?) : ?

新しいタブが選択されると発生。

on_changing(?) : ?

新しいタブが選択されると、 tab_index が切り替わる前に発生。

on_draw_tab(?) : ?

on_get_image_index(?) : ?

Last modified:2005/11/19 23:49:32
Keyword(s):
References:[(文責)Dice] [Phi-Classes] [Phi-Constants] [Phi::PageControl] [Phi::TabSheet] [image_of_controls] [雑談]