[ top ] [ prev ] [ up ] [ next ]

Phi:module functions

Phi:module で定義される関数は次のとおり。

Menu 関連

Phi は比較的簡単にメニューを用意できる。典型的な記述例は次のようなものだ。
Phi.new_menu form, :menu, [
  Phi.new_item('&File', '', :mi_file).add(
    Phi.new_item('&Open', 'Ctrl+O', :mi_open),
    Phi.new_item('E&xit', '', :mi_exit)
  ),
  Phi.new_item('&Options', '', :mi_opt).add(
    Phi.new_item('&Stretch', '', :mi_stretch),
    Phi.new_item('&Center', '', :mi_center)
  ),
  Phi.new_item('&Help', '', :mi_help),
]
new_menu(parent, name, items) : Phi::MainMenu
メインメニューを作成し,初期化する。

parent : Object
name : String or Symbol
items : Array of Phi::MenuItem
new_sub_menu(caption, name, items, enabled=true) : Phi::MenuItem
サブメニューを示すメニュー項目を作成して初期化する。

caption : String
name : String or Symbol
items : Array of Phi::MenuItem
enabled : true or false
new_item(caption, scutstr, name, checked=false, enabled=true) : Phi::MenuItem
メニュー項目を作成して初期化する。

caption : String
メニュー項目を表わす表示文字列

scutstr : String
関連付けるショートカット文字列

"Shift+Ctrl+A", "Esc", "Ctrl+Enter" というように(シフトキー+)キーという形式で記述します。シフトキーと特殊キーの記述には次のものが使用できます。

シフトキー
'Shift+' 'Ctrl+' 'Alt+' '^'
特殊キー
'BkSp' 'Tab' 'Esc' 'Enter' 'Space' 'PgUp' 'PgDn' 'End' 'Home' 'Left' 'Up' 'Right' 'Down' 'Ins' 'Del' 'F1'..'F11'

'^I''Ctrl+I' と同じ。
'F12' は効かないようです。また、F10 など IME の状態などにより反応しなくなるキーもあります。またそれとは逆に、ショートカットでトラップしてしまうと Windows のキー操作に支障が出る場合もあります。使うとまずい組み合わせが見つかったら ML でお知らせください。

参考
$(DELPHI5)\source\vcl\consts.pas[SmkcBkSp]
$(DELPHI5)\source\vcl\menus.pas[TextToShortCut]

name : String or Symbol
メニュー項目の名前

checked : Boolean
caption の横にチェックマークを付けるかどうか

メニュー項目をチェックボックスのように機能させることができる。

true
チェックマークが付く。

false (default)
チェックマークは付かない。

enabled : Boolean
メニュー項目が使用可能かどうか

true (default)
ユーザーがマウスで項目を選択すると, Phi::MenuItem#click を呼び出す。

false
メニュー項目は淡色表示になり,ユーザーはその項目を選択できないが, Phi::MenuItem#click の呼び出しは enabledfalse のときでも有効だ。

new_line : Phi::MenuItem
メニューのセパレータを作成する。
author: YOSHIDA Kazuhiro
[ top ] [ prev ] [ up ] [ next ]