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

Phi-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

メニュー項目を作成して初期化する。サンプル→ Phi.new_item

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 の呼び出しは enabled が false のときでも有効だ。

new_line : Phi::MenuItem

メニューのセパレータを作成する。


require "phi"
require "methods_for_wiki"
puts Phi.singleton_methods_for_wiki

Phi.FInit?

Phi.abort

Phi.alive?

Phi.alive_test?

Phi.ansi_extract_quoted_str?

Phi.beep?

Phi.capitalize?

Phi.color_to_string

Phi.components?

Phi.create_class_id?

Phi.cursor_to_string?

Phi.date_format?

Phi.date_format=?

Phi.date_separator?

Phi.date_separator=?

Phi.debug?

Phi.debug=?

Phi.dos_dir

Phi.downcase?

Phi.draw_text

Phi.expand_file_name?

Phi.expand_unc_file_name?

Phi.export?

Phi.force_dirs?

Phi.get_capture?

Phi.get_capture_control?

Phi.get_computer_name?

Phi.get_cursor_pos?

Phi.get_key_state

Phi.heap_status?

Phi.input_box?

Phi.input_query?

Phi.invalidate_rect?

Phi.keybd_event?

Phi.load_cursor?

Phi.long_date_format?

Phi.long_date_format=?

Phi.long_day_names?

Phi.long_day_names=?

Phi.long_month_names?

Phi.long_month_names=?

Phi.long_time_format?

Phi.long_time_format=?

Phi.mainloop

Phi.mainloop??

Phi.message_dlg?

Phi.new_item

Phi.new_item_ex?

Phi.new_line?

Phi.new_menu?

Phi.new_popup_menu?

Phi.new_sub_menu?

Phi.obj_bin_to_text?

Phi.obj_res_to_text?

Phi.obj_text_to_bin?

Phi.obj_text_to_res?

Phi.release_capture?

Phi.select_dir?

Phi.send_message?

Phi.set_capture?

Phi.set_capture_control?

Phi.set_cursor?

Phi.sh_file_operation?

Phi.shell_execute?

Phi.short_cut_to_key?

Phi.short_cut_to_text?

Phi.short_date_format?

Phi.short_date_format=?

Phi.short_day_names?

Phi.short_day_names=?

Phi.short_month_names?

Phi.short_month_names=?

Phi.short_time_format?

Phi.short_time_format=?

Phi.stdin=?

Phi.string_to_cursor?

Phi.strip_hot_key?

Phi.text_to_short_cut?

Phi.time_format?

Phi.time_format=?

Phi.time_separator?

Phi.time_separator=?

Phi.undef_stdio?

Phi.uniq_id?

Phi.upcase?

Phi.win_exec?


メモ:

説明が必要なこと:

Delphi の DateTime? 関係の関数は DateTimeクラスのメソッドとして実装していること。

Phi.get_key_state

Last modified:2006/02/22 10:14:38
Keyword(s):
References:[Phi] [Phi.alive?]