基本仕様 第 2 章 前の章 次の章

2. 命名規約と予約語

この章には、各種の MANDALA ソフトウェア資産の命名規約と特別の意味をもつ予約語について、以下の順に記述してあります。

2.1 フォームの命名規約

2.2 文字入出力コントロールの命名規約

2.3 指示コントロールの命名規約
   2.3.1 既定義指示コントロール
   2.3.2 利用者定義指示コントロール


2.1 フォームの命名規約

MANDALA.net によって制御される各種のコントロール (すなわち MANDALA コントロール) を貼り付けたフォームのことを MANDALA フォームと呼びます。

MANDALA フォームのクラス名には、以下の例のように "Fr_" という 3 文字のプレフィックスを付けてください。

Fr_Rensyuu

このようなフォーム名の先頭の 3 文字をプレフィックスと呼び、 これに続く後ろの文字列を画面略称と呼んでいます。 上の例では、"Rensyuu" が画面略称です。

略称ではなくプレフィックス付きのフルネームであるフォーム名とは、一般にフォームのクラス名のことを指します。通常これは、必ずしもフォームのファイル名と同じでなくてもかまいませんが、 できればこれらを同じ名前にしておくことをお勧めいたします。 特に、MANDALA フォームの親クラスとなるフォームについては、フォームのファイル名とフォーム名を同じにしなければなりません。 詳しくは、親クラスソース参照のための規約をご参照ください。

画面略称は、アンダースコア "_" を含まない 3 文字以上 37 文字以内の名前 (文字列) にしてください。 つまり、フォーム名を 6 文字以上 40 文字以内にすることになります。

なお、画面略称は、 画面フックメソッド (「3. フックメソッド」 参照) の名前の一部として使われます。


2.2 文字入出力コントロールの命名規約

ファイルまたはデータベースの中の数値や文字を画面に表示したり、 数値や文字データをインプットするためのコントロールを 文字入出力コントロールと呼びます。

文字入出力コントロールとしては、 主にテキストボックス (TextBox)、またはコンボボックス (ComboBox)、ラベル (Label) などを用います。 なお、ラベルは文字を表示することができるだけで、数値や文字をインプットすることができません。 また、ラベルは、カットアンドペースト系操作 (コピーアンドペーストなども含む) ができません。

ちなみに、テキストボックスを用いたとしも、表示項目 (入出の指定でインプット禁止) にすれば、 MANDALA.net が一切のインプットを受け付けないように制御します。 したがって、必ずしもラベルを使う必要はありませんが、インプットの必要性が全くない項目に限っては、 ラベルを使ってもよいということです。

テキストボックスとラベルでは、このような違いがありますし、またコンボボックスでは選択操作が行えます。 こうした違いにもかかわらず、MANDALA.net のフックメソッド (「3. フックメソッド」 参照) の中では、 テキストボックスかラベルかなどというコントロールの種類の違いをほとんど意識せずにプログラムを組むことができるようになっています。

◇ ヘッド部、ボディ部、拡張ボディ部、テール部

MANDALA.net によって制御される文字入出力コントロールは、 画面上での配置繰返しの有無によって次の 4 種類に分類されます。

ヘッド部の項目 ボディ部やテール部の項目より上に配置される項目。繰返しはない。
ボディ部の項目 ヘッド部の項目より下、テール部の項目より上に配置 され、明細行ごとに繰り返す一群の項目。
拡張ボディ部の項目 ヘッド部の項目より下、テール部の項目より上に配置 され、明細行ごとに繰り返す一群の項目。
テール部の項目 ヘッド部やボディ部や拡張ボディ部の項目より下に配置される項目。繰返しはない。

ヘッド部の項目 (ヘッド項目) には、以下の例のように "Hd_" という 3 文字のプレフィックスを付けてください。

ボディ部の項目 (ボディ項目) には、以下の例のように "Bd_" という 3 文字のプレフィックスを付けてください。

拡張ボディ部の項目 (拡張ボディ項目) には、以下の例のように "Ed_" という 3 文字のプレフィックスを付けてください。

テール部の項目 (テール項目) には、以下の例のように "Tl_" という 3 文字のプレフィックスを付けてください。

Hd_CdBangou, Bd_KyokuMei, Ed_Kasyumei, Tl_Kyokusuu

◇ プレフィックスと項目略称

ヘッド部、ボディ部、拡張ボディ部、テール部の各項目名のプレフィックスは、 上記の例のように、それぞれ "Hd_", "Bd_", "Ed_", "Tl_" と決められています。

そして、各項目名の先頭の 3 文字のプレフィックスに続く後ろの文字列は、"項目略称" と呼ばれます。 たとえば、上記の例では、CdBangou, KyokuMei, Kasyumei, Kyokusuu が項目略称です。

項目略称は、アンダースコア "_" を含まない 3 文字以上 37 文字以内の名前 (文字列) にしてください。 つまり、コントロール名を 6 文字以上 40 文字以内にすることになります。 項目略称を 3 文字以上にするのは、 MANDALA コントロール用のプレフィックスの名前との重複を防ぐためです。

なお、MANDALA.net に制御される文字入出力コントロールの項目略称は、 データ項目フックメソッド (「3. フックメソッド」 参照) の名前の一部として使われます。

◇ バーチャル項目

バーチャル項目とは、フォーム上に配置されない (したがって表示されない) 仮想的なコントロールです。 ですから、Visual Studio 統合開発環境の画面設計ツールを用いるのではなく、 MANDALA.net の総括表に指定することでバーチャル項目を設けることができます。 このコントロールは、表示されないという点を除いて、 一般の文字入出力コントロールと同様に取り扱われます。 たとえば、バーチャル項目の項目略称は、 データ項目フックメソッドの名前の一部として使うことができますし、 フックメソッドのパラメタとして指定することもできます。

以下では、特に断り書きのない限り、 バーチャル項目も文字入出力コントロールの一種だと解釈してください。

バーチャル項目のプレフィックスは、 文字列 "Hv_", "Bv_", "Ev_" または "Tv_" と決められています。 正確にいうと、ヘッド部、ボディ部、拡張ボディ部、またはテール部のうちのどこに配置するバーチャル項目かによって、 それぞれ "Hv_", "Bv_", "Ev_" または "Tv_" というプレフィックスを使い分けます。

なお、バーチャル項目を設けるには、Visual Studio 統合開発環境の画面設計ツールではなく、 MANDALA.net の総括表に指定します。この指定の方法の案内などは、 MANDALA.net の総括表に対してファンクションキー F5 を押下すると表示されます。 なお、詳しくは 「MANDALA.net 入門の手引き」 というマニュアルをご参照ください。


2.3 指示コントロールの命名規約

アプリ操作者が何らかの指示 (コマンド) を与える際に用いるコントロールを指示コントロールと呼びます。

指示コントロールとしては、メニュー (ToolStripMenuItem, MenuItem) またはボタン (Button, ToolStripButton) を用います。 なお、ファンクションキーも、アプリ操作者が何らかの指示を与えるときに使うものなので、 広い意味では指示コントロールだとみなすことができます。

指示コントロール (およびファンクションキー) は、次の 2 種類に分類できます。

既定義指示コントロールは、 その名前と機能 (標準提供処理) があらかじめ決められています。 これとは対照的に、利用者定義指示コントロールには、アプリ開発者が適当な名前を付けることができますし、 お望みの機能にすることができます。

アプリ操作者が指示コントロールに指示を与えると、 すなわちメニューまたはボタンをクリックしたり、ファンクションキーを押下したりすると、 その指示コントロールに対応する標準提供処理プログラム、 または画面フックメソッド GetEvent (イベント処理) が呼び出される仕組みになっています。 詳しく言うと、既定義指示コントロールについては標準提供処理プログラムが、 利用者定義指示コントロールについては画面フックメソッド GetEvent が呼び出されます。 このようになっているので、指示コントロールはそれらのプログラムが果たす機能に対応づけられているといえます。

なお、利用者定義指示コントロールだけでなく既定義指示コントロールについても、 標準提供処理の一部または全部を変更するために、 画面フックメソッド GetEvent を使うことができます。

ご注目いただきたい点に、画面フックメソッド GetEvent の中では、 アプリ開発者がメニュー項目かボタンか (あるいはファンクションキーか) という指示コントロールの種類の違いを意識せずにプログラムを組むことができる、ことがあります。 なぜなら、GetEvent フックメソッドは、指示コントロールの種類の違いにこだわらずに、 以下に述べる "コントロール略称" または "ファンクションキー名" で指定された指示コントロールからの指示を受け付けるものだからです。

ちなみに、画面フックメソッド GetEvent (イベント処理) の他に、 項目フックメソッド GetEvent (イベント処理) がありますが、 後者は文字入出力コントロールからの指示を受け付けるものです。

ここまで述べてきたように、指示コントロール (ファンクションキーも含む) の名前、すなわち "コントロール略称" および "ファンクションキー名" は重要です。 そこで、これらの命名規約について説明します。

MANDALA.net に制御されるメニューには、 以下の例のように "Mn_" という 3 文字のプレフィックスを付ける決まりになっています。

Mn_Kensaku, Mn_Kakunin, Mn_Mokuji

同様に、MANDALA.net に制御されるボタンには、 以下の例のように "Cm_" という 3 文字のプレフィックスを付ける決まりになっています。

Cm_StartXX, Cm_StopXX, Cm_Mokuji

このように指示コントロールのプレフィックスは、 "Mn_" または "Cm_" だと決められています。 そして、コントロール名の先頭の 3 文字のプレフィックスに続く後ろの文字列は、"コントロール略称" と呼ばれます。 たとえば、上記の例では、Kensaku, Kakunin, Mokuji, StartXX, StopXX がコントロール略称です。

コントロール略称は、アンダースコア "_" を含まない 3 文字以上 37 文字以内の名前 (文字列) にしてください。 つまり、コントロール名を 6 文字以上 40 文字以内にすることになります。 コントロール略称を 3 文字以上にするのは、 MANDALA コントロール用のプレフィックスの名前との重複を防ぐためです。

指示コントロールと同様に、 ファンクションキーの押下イベントも、 以下に述べる画面フックメソッド GetEvent (イベント処理) で受け取ることができます。

ところで、ファンクションキーの名前には、プレフィックスをつけません。 プレフィックスがないのです。 つまり、ファンクションキーに割り当てられた指令名が指示コントロールの "コントロール略称" に相当することになります。 なお、ファンクションキー名の設定は、MANDALA.netファンクションキーの設定というダイアログボックスによって行います。 すなわち、このダイアログボックスによって、ファンクションキーに適当な指令名を割り当てることができ、画面フックメソッド GetEvent (イベント処理) と対応づけることができます。

2.3.1 既定義指示コントロール

MANDALA.net を用いると、プログラミングすることなしに、 MANDALA.net の標準提供処理をアプリの中に組み込むことができます。 その際には、指示コントロールの“名前”が重要な役割を果たすキーになります。

この標準提供処理を利用するには、 指示コントロール (メニューまたはボタンなど) に後述する一覧の中の名前を付けて、 MANDALA フォームに貼り付けて機械生成を行ってください。 こうするだけで、それぞれの名前に対応する機能が組み込まれます。 ですから、こうした標準機能は、アプリ開発者がわざわざプログラミングすることなしに 実現することができます。

たとえば、アプリ画面の中にボディ部があるときには、 その明細行を削除する機能が欲しいことがあるかもしれません。 このような場合に、アプリ画面にボタンを貼り付けて、 それに Cm_DeleteDe という名前を付けてから機械生成をするだけで、 そのボタンは明細行の削除という機能を果たすようになります。 このことを確かめるには、 実際にそのアプリを起動してそのボタンをクリックしてみればよいでしょう。

標準提供処理の中には、特定のフックメソッドと深く結び付いているものもあります。 これらについては、以下の既定義各種の指示コントロール一覧の中でそのことが明記してあります。

なお、既定義指示コントロールについても、 その標準提供処理の一部を変更するために、 画面フックメソッド GetEvent (イベント処理) を使うことができます。

◇ 既定義メニュー項目

メニュー項目に以下の一覧の中のいずれかの名前を付けて、 MANDALA フォームに配置して機械生成をするだけで、 それぞれの名前に対応する機能を組み込むことができます。

追加の説明ですが、メニュー項目には、Shortcut というプロパティがあり、 ショートカットキーを設定することができます。 この設定によって、メニュー項目とキーボード上の特定のキー操作とを対応づけることができるのです。

こうした対応をつけておくと、メニュー項目をクリックする代わりに、 それに対応するキーボードの操作をすることで、同じ効果を発揮するようになります。 つまり、メニュー項目のクリックで指定することができる“既定義の機能”は、 対応するキーボード上のキー操作でも指示できるようになるのです。

なお、以下で 「メニューをクリックする」 と書かれているところは、 「それに対応するショートカットキーがあれば、その操作をする」 ことも含んでいると解釈してください。

Mn_AppendC 追加モードへの移行。
(フックメソッド AppendChk も参照してください)
Mn_Cancel インプット操作をすべてキャンセル (当初の画面データを復元)。
(フックメソッド Current も参照してください)
Mn_ClearDe ボディ部の明細行の初期化。
Mn_ClearItm データ項目の初期化。
Mn_Copy いわゆるカットアンドペースト系操作のコピー操作。
Mn_CopyDe 前行複写。
Mn_CopyItem 前行の項目複写。
Mn_Cut いわゆるカットアンドペースト系操作のカット操作。
Mn_DeleteCm カレント画面データの削除。
(フックメソッド Delete も参照してください)
Mn_DeleteDe ボディ部の明細行の削除。
Mn_DeleteDR DeleteDR 指示。
Mn_EndCm アプリの終了。
(フックメソッド Close も参照してください)
Mn_Execute 画面データ (伝票データ) の登録 (または、追加、更新、確定など) あるいは選択モードにおける選択のためのデータインプットの完了。
(フックメソッド AppendUpdate も参照してください)
Mn_Exit Exit 指示。
Mn_First 処理対象画面データ群の中の先頭の画面データへ移動。
(フックメソッド First も参照してください)
Mn_Hardcopy 画面のハードコピーの取得 (印刷)。
Mn_Help カレント項目に関するヘルプメッセージの表示。
(フックメソッド Help も参照してください)
Mn_Indicate 表示モードへの移行。
(フックメソッド Indicate も参照してください)
Mn_InsertDe ボディ部の明細行の挿入。
Mn_ItemCopy 項目単位のコピー (いわゆるカットアンドペースト系操作)。
Mn_ItemCut 項目単位のカット (いわゆるカットアンドペースト系操作)。
Mn_ItemPaste 項目単位のペースト (いわゆるカットアンドペースト系操作)。
Mn_Last 処理対象画面データ群の中の最終の画面データへ移動。
(フックメソッド Last も参照してください)
Mn_Master カレント項目に関係するマスタ保守プログラムの呼出し。
(フックメソッド Master も参照してください)
Mn_NextCm 処理対象画面データ群の中の次の画面データへ移動。
(フックメソッド NextFm も参照してください)
Mn_NextItem 次項目へのフォーカス移動 (右矢印キー相当)。
Mn_Paste いわゆるカットアンドペースト系操作のペースト操作。
Mn_Prev 処理対象画面データ群の中の一つ前の画面データへ移動。
(フックメソッド Prev も参照してください)
Mn_PrevItem 次項目へのフォーカス移動 (右矢印キー相当)。
Mn_RelInf カレント項目に関係する情報表示プログラムの呼出し。
(フックメソッド RelInf も参照してください)
Mn_SearchCm 選択モードにおける選択のためのデータインプットの完了。
Mn_SelectCl SelectCl 指示。
Mn_SelectCm 処理対象画面データ群の確定とカレント画面データの選択。
(フックメソッド SelectFm も参照してください)
Mn_SList インプットすべきデータの選択候補一覧 (選択リスト) の表示。
(フックメソッド SList も参照してください)
Mn_UndoDe ボディ部の明細行の復元。
Mn_UndoItem カレント項目の値の復元。
Mn_UpdateC 更新モードへの移行。
(フックメソッド UpdateChk も参照してください)

◇ 既定義ボタン

ボタンに以下の一覧の中のいずれかの名前を付けて、 MANDALA フォームに配置して機械生成をするだけで、 それぞれの名前に対応する機能を組み込むことができます。

Cm_AppendC 追加モードへの移行。
(フックメソッド AppendChk も参照してください)
Cm_Cancel インプット操作をすべてキャンセル (当初の画面データを復元)。
(フックメソッド Current も参照してください)
Cm_ClearDe ボディ部の明細行の初期化。
Cm_ClearItm データ項目の初期化。
Cm_CopyDe 前行複写。
Cm_CopyItem 前行の項目複写。
Cm_DeleteCm カレント画面データの削除。
(フックメソッド Delete も参照してください)
Cm_DeleteDe ボディ部の明細行の削除。
Cm_DeleteDR DeleteDR 指示。
Cm_EndCm アプリの終了。
(フックメソッド Close も参照してください)
Cm_Execute 画面データ (伝票データ) の登録 (または、追加、更新、確定など) あるいは選択モードにおける選択のためのデータインプットの完了。
(フックメソッド AppendUpdate も参照してください)
Cm_Exit Exit 指示。
Cm_First 処理対象画面データ群の中の先頭の画面データへ移動。
(フックメソッド First も参照してください)
Cm_Hardcopy 画面のハードコピーの取得 (印刷)。
Cm_Help カレント項目に関するヘルプメッセージの表示。
(フックメソッド Help も参照してください)
Cm_Indicate 表示モードへの移行。
(フックメソッド Indicate も参照してください)
Cm_InsertDe ボディ部の明細行の挿入。
Cm_Last 処理対象画面データ群の中の最終の画面データへ移動。
(フックメソッド Last も参照してください)
Cm_Master カレント項目に関係するマスタ保守プログラムの呼出し。
(フックメソッド Master も参照してください)
Cm_NextCm 処理対象画面データ群の中の次の画面データへ移動。
(フックメソッド NextFm も参照してください)
Cm_Prev 処理対象画面データ群の中の一つ前の画面データへ移動。
(フックメソッド Prev も参照してください)
Cm_RelInf カレント項目に関係する情報表示プログラムの呼出し。
(フックメソッド RelInf も参照してください)
Cm_SearchCm 選択モードにおける選択のためのデータインプットの完了。
Cm_SelectCl SelectCl 指示。
Cm_SelectCm 処理対象画面データ群の確定とカレント画面データの選択。
(フックメソッド SelectFm も参照してください)
Cm_SList インプットすべきデータの選択候補一覧 (選択リスト) の表示。
(フックメソッド SList も参照してください)
Cm_UndoDe ボディ部の明細行の復元。
Cm_UndoItem カレント項目の値の復元。
Cm_UpdateC 更新モードへの移行。
(フックメソッド UpdateChk も参照してください)

既定義ボタンは、原則としてそれぞれの既定義メニュー項目に対応していますが、 例外的に以下については対応するボタンがありません。

Mn_Cut, Mn_Copy, Mn_Paste, Mn_ClearItm, および Mn_UndoItem

以上のボタンの名前は、すべて "Cm_" というプレフィックスをもつものでしたが、 以下のように "Cs_" というプレフィックスをもつ特殊なボタンもあります。 これも既定義ボタンの一種であり、 これは Cm_SList の機能に関係するものです。 なお、これについてはフックメソッド SList の説明も参照してください。

Cs_項目略称 項目略称で指定された文字入出力コントロールにインプットすべきデータの選択候補一覧 (選択リスト) を表示せよという指示。

たとえば、ある画面に Bd_KyokuMei という文字入出力コントロールを設け、 さらにその画面に Cs_KyokuMei というボタンを設けたとしましょう。 こうすると、Cs_KyokuMei は、文字入出力コントロール Bd_KyokuMei にインプットすべきデータの選択候補一覧 (選択リスト) の表示せよ、 という指示を与えるための既定義ボタンになります。

◇ 既定義ファンクションキー

ファンクションキーには項目略称に相当する指令名を割り当てることができます。 この割当ては、MANDALA.net各画面のファンクションキーというダイアログボックスで行います。

ファンクションキーに以下の一覧の中のいずれかの名前を付けて、機械生成をすると、 それぞれの名前に対応する機能を組み込むことができます。 なお、以下の機能名に対応させたファンクションキーを既定義ファンクションキーと呼びます。

AppendC 追加モードへの移行。
(フックメソッド AppendChk も参照してください)
Cancel インプット操作をすべてキャンセル (当初の画面データを復元)。
(フックメソッド Current も参照してください)
ClearDe ボディ部の明細行の初期化。
ClearItm データ項目の初期化。
Copy いわゆるカットアンドペースト系操作のコピー操作。
CopyDe 前行複写。
CopyItem 前行の項目複写。
Cut いわゆるカットアンドペースト系操作のカット操作。
DeleteCm カレント画面データの削除。
(フックメソッド Delete も参照してください)
DeleteDe ボディ部の明細行の削除。
DeleteDR DeleteDR 指示。
EndCm アプリの終了。
(フックメソッド Close も参照してください)
EndEof EndEof 指示。
Execute 画面データ (伝票データ) の登録 (または、追加、更新、確定など) あるいは選択モードにおける選択のためのデータインプットの完了。
(フックメソッド AppendUpdate も参照してください)
Exit Exit 指示。
First 処理対象画面データ群の中の先頭の画面データへ移動。
(フックメソッド First も参照してください)
Hardcopy 画面のハードコピーの取得 (印刷)。
Help カレント項目に関するヘルプメッセージの表示。
(フックメソッド Help も参照してください)
Indicate 表示モードへの移行。
(フックメソッド Indicate も参照してください)
InsertDe ボディ部の明細行の挿入。
ItemCopy 項目単位のコピー (いわゆるカットアンドペースト系操作)。
ItemCut 項目単位のカット (いわゆるカットアンドペースト系操作)。
ItemPaste 項目単位のペースト (いわゆるカットアンドペースト系操作)。
Last 処理対象画面データ群の中の最終の画面データへ移動。
(フックメソッド Last も参照してください)
Master カレント項目に関係するマスタ保守プログラムの呼出し。
(フックメソッド Master も参照してください)
NextCm 処理対象画面データ群の中の次の画面データへ移動。
(フックメソッド NextFm も参照してください)
NextItem 次項目へのフォーカス移動 (右矢印キー相当)。
NextLine 1 行下の項目へのフォーカス移動 (下矢印キー相当)。
Paste いわゆるカットアンドペースト系操作のペースト操作。
Prev 処理対象画面データ群の中の一つ前の画面データへ移動。
(フックメソッド Prev も参照してください)
PrevItem 次項目へのフォーカス移動 (右矢印キー相当)。
PrevLine 1 行下の項目へのフォーカス移動 (下矢印キー相当)。
RelInf カレント項目に関係する情報表示プログラムの呼出し。
(フックメソッド RelInf も参照してください)
SearchCm 選択モードにおける選択のためのデータインプットの完了。
SelectCl SelectCl 指示。
SelectCm 処理対象画面データ群の確定とカレント画面データの選択。
(フックメソッド SelectFm も参照してください)
SList インプットすべきデータの選択候補一覧 (選択リスト) の表示。
(フックメソッド SList も参照してください)
UndoDe ボディ部の明細行の復元。
UndoItem カレント項目の値の復元。
UpdateC 更新モードへの移行。
(フックメソッド UpdateChk も参照してください)

一般的に言うと、あるメニューで指定することができる機能を、 キーボード上のあるキー操作でも指示できるようにするには、 メニュー項目の Shortcut プロパティによって、そのキー操作を対応づけます。 つまり、ショートカットキーを設けるのです。 ただし、この方法はメニューを設けていない画面では使用できません。

そこで、メニュー項目を設けていない画面に対しても、既定義ファンクションキーの押下で指示できるように、 MANDALA.net にはファンクションキーの設定という機能があります。 なお、この機能については 「MANDALA.net 入門の手引き」 というマニュアルをご参照ください。

2.3.2 利用者定義指示コントロール

既定義指示コントロールは、その名前と機能が決まっています。 こうしたもの以外に、自由に名前をつけて各画面アプリごとに任意の機能をもつメニューやボタンやファンクションキーを設けたいこともあるでしょう。 このような場合には、利用者定義指示コントロールまたは利用者定義ファンクションキーを用いてください。

利用者定義指示コントロールのクリックイベント、および利用者定義ファンクションキーの押下イベントは、 以下に述べる画面フックメソッド GetEvent (イベント処理) で受け取ることができます。

◇ 画面フックメソッド GetEvent (イベント処理)

利用者定義メニュー項目および利用者定義ボタンのコントロール略称および利用者定義ファンクションキーに割り当てた指令名は、 次の例のように画面フックメソッド GetEvent (イベント処理) のフックメソッド名の一部として使われます。

    Friend Function Mokuji_GetEvent() As Boolean
    internal bool Mokuji_GetEvent( ) {

この GetEvent フックメソッドは、Mokuji というコントロール略称の利用者定義メニュー項目または利用者定義ボタンのクリックイベント、あるいは Mokuji という指令名に割り当てられた利用者定義ファンクションキーの押下イベントを受け付けます。 ですから、Mn_Mokuji という利用者定義メニュー項目または Cm_Mokuji という利用者定義ボタンをアプリ操作者がクリックした場合、 あるいは指令名 Mokuji に対応付けられたファンクションキーを押下した場合に、 上記のフックメソッドが呼び出されます。

なお、ある機能をメニューやボタンやファンクションキーのどれでも操作できるようにするには、 利用者定義メニュー項目および利用者定義ボタンのコントロール略称、ならびに利用者定義ファンクションキーの指令名を同じにしてください。

たとえば、上の例に従うと Mn_Mokuji および Cm_Mokuji という二つのコントロールを画面上に貼り付けてあるような場合、画面フックメソッド GetEvent は両方のクリックイベントを受け付けるので、 一つ記述するだけで済みます。

以上の説明のように、コントロール略称によって、アプリ開発者は、 利用者定義メニュー項目や利用者定義ボタンや利用者定義ファンクションキーとその機能を果たす画面フックメソッド GetEvent (イベント処理) とを対応づけるわけです。 ですから、アプリ開発者は、MANDALA.net が標準提供処理として実施する機能以外の任意の利用者定義機能をアプリ操作者に提供することができます。 そして、画面フックメソッド GetEvent の中では、 メニュー項目かボタンかなどという指示コントロールの違いを意識せずにプログラムを組むことができるようになっています。

◇ キーによる操作

利用者定義機能をキーボード上の特定のキー操作によって指示できるようにしたい場合があります。 このような場合には、メニュー項目の Shortcut プロパティによってそのキーをメニュー項目と対応づけてください。 つまり、ショートカットキーを設けるわけです。 こうすれば、メニュー項目をクリックする代わりに、 ショートカットキーを押下することで、同じ効果を発揮するようになります。

メニュー項目を作成せずに、特定のファンクションキーを利用者定義機能に対応づけたい場合には、 MANDALA.netファンクションキーの設定というダイアログボックスによって、 ファンクションキーに適当な指令名を割り当てれば、画面フックメソッド GetEvent (イベント処理) でキー押下のイベントを受け付けることができます。

この他に、ファンクションキー押下のイベントを表す以下の予約語を用いた画面フックメソッド GetEvent (イベント処理) を用いる方法もありますが、お勧めではありません。

F1Down, F2Down, ... , F12Down

たとえば、以下の画面フックメソッド GetEvent は、ファンクションキー F7 の押下を利用者定義機能に対応づけるものです。

Friend Function F7Down_GetEvent()