ページの先頭行へ戻る
MeFt V11.0 ユーザーズガイド
FUJITSU Software

7.5.7 メニュー項目の変更

【提供インタフェース】

  

【機能説明】

  メニュー項目の状態を変更します。

[形式]

PSINT PSFUNCTION ps_modify_menu(
    PSFILE psfile,
    PSUSHORT mode,
    PSUSHORT num,
    PSPSTR PSPOINTER pAttn);

[パラメタ]

psfile

:

オープン処理で獲得した表示ファイル識別子を指定します。

mode

:

状態変更の種類を指定します。値とその意味は以下のとおりです。

PS_MM_MASK

:

メニュー項目の選択を禁止します。

PS_MM_UNMASK

:

メニュー項目の選択禁止を解除します。

PS_MM_CHECK

:

チェックマークを設定します。

PS_MM_UNCHECK

:

チェックマークの設定を解除します。

num

:

処理の対象とするメニュー項目の個数を指定します。

pAttn

:

処理の対象とするメニュー項目のアテンション情報ヘのポインタをnumの個数分指定した領域のアドレスを指定します。アテンション情報には、NULLで終わる文字列を指定します。

[使用例]

画面への入力時にアテンション情報が"ATN1"と"ATN2"の2つのメニュー項目を選択禁止状態にします。

PSFILE psfile;
SAMP samp;
PSPSTR pAttn1[] = {"ATN1", "ATN2"};
PSPSTR PSPOINTER pAttn2;
~
pAttn2 = pAttn1;
ps_set_formatsize(psfile, "SAMP", s_SAMP);
ps_write(psfile, PS_WRITE_NOMAL, "SCREEN", &samp,0);
ps_modify_menu(psfile, PS_MM_MASK, 2, pAttn2);
ps_read(psfile, PS_READ_NOERASE, "SCREEN", &samp, 0);
~
[診断]
  • 正常終了時には0が返されます。エラー発生時には1または2が返されます。psfileの指定に誤りがある場合には2が、それ以外のエラーの場合には1が返されます。1が返された場合には通知コードの獲得通知コードを獲得してエラー原因を識別できます。

  • 処理中にオペレータがタスクリストからの終了を選択すると-1が返されます。その場合、利用者プログラムは必ず実行を終了してください。

  • MeFt V1.1ではメニュー項目の変更後の状態を画面切替え時に保持していませんでしたが、V1.2以降では保持するようになりました。したがって画面切替時にメニューが初期状態になっていることを前提した利用者プログラムはV1.2以降ではメニューの表示が異常になることがあります。

  • 定義体にメニューがない場合、本関数を使用して、メニューの選択または解除を行うと、MEFD_RC_NOMN(FA)のエラーが通知されます。一方、定義体にメニューがある場合、メニューにない項目の選択または解除を行ってもエラー通知されません。(無視します)また、オープン直後で定義体を表示する前にメニュー操作を行うと、MEFD_RC_SEQ(CC)が通知されます。

[形式]

PROCESSING M0DE句とUNIT CONTROL句に指定する。

[パラメタ]

PROCESSING MODE句

:

PF

:

UNIT CONTROL句で指定したアテンションのメニュー項目の選択を禁止します。

PN

:

メニュー項目の選択禁止を解除します。

UNIT CONTROL句

:

選択を禁止するメニュー項目のアテンションを指定します。

[使用例]

画面への入力時にアテンション情報が"ATN1"のメニュー項目を選択禁止状態にします。

MOVE "SAMP" TO DSP-FORMAT.
MOVE "@ALLF" TO DSP-GROUP.
MOVE "  " TO DSP-MODE.
MOVE "PF" TO DSP-MODE.
MOVE "ATN1" TO DSP-CONTROL.
WRITE SAMP.
READ ディスプレイファイル.
[診断]
  • FILE STATUS句に通知コードが格納されます。

  • MeFt V1.1ではメニュー項目の変更後の状態を画面切替え時に保持していませんでしたが、V1.2以降では保持するようになりました。したがって画面切替え時にメニューが初期状態になっていることを前提した利用者プログラムはV1.2以降ではメニューの表示が異常になることがあります。

  • 定義体にメニューがない場合、本関数を使用して、メニューの選択または解除を行うと、MEFD_RC_NOMN(FA)のエラーが通知されます。一方、定義体にメニューがある場合、メニューにない項目の選択または解除を行ってもエラー通知されません。(無視します)また、オープン直後で定義体を表示する前にメニュー操作を行うと、MEFD_RC_SEQ(CC)が通知されます。