画面内で共通な事項に関するオプション設定を表します。

構文

typedef struct{
  int MenuForeColor;
  int MenuDisabledForeColor;
  int MenuBackColor;
  int NumberOfColorPalette;
  pAM_ColorPalette ColorPalettes;
  int OptionFlag;
  unsigned int DefaultFont;
  int DefaultLineSpacing;
  int SpecialKey1;
  int SpecialKey2;
  unsigned int SpecialKeyHoldTime;
} AM_Option, *pAM_Option;

メンバー

MenuForeColor
 文字色のデフォルト値を指定します。
MenuDisabledForeColor
 無効なメニューアイテム(AM_MenuItem構造体enabledメンバーがfalse)の文字色を指定します。
MenuBackColor
 背景色のデフォルト値を指定します。
 次のときに参照されます。
  • メニューアイテムが配置されていない領域の背景色
  • チェックボックスやラジオボタン、アイコンなどのコントロールの背景色
  • 無効なメニューアイテム(AM_MenuItem構造体enabledメンバーがfalse)の背景色
NumberOfColorPalette
 ColorPalettesに指定するAM_ColorPalette構造体の配列の要素数を指定します。
ColorPalettes
 AM_ColorPalette構造体の配列を指すポインタを指定します。
OptionFlag
 次のオプションフラグの値の論理和を指定します。
説明
AM_ALLOW_AUTOREPEAT [Q1]キーと[Q2]キーのオートリピートを有効にします。
AM_USE_SPECIAL_KEY 特殊キー操作を有効にします。このフラグを指定したときは、SpecialKey1SpecialKey2SpecialKeyHoldTimeの各メンバーの指定が有効になります。
AM_NO_CLEARメニュー画面を描画するとき、画面をクリアしません。
AM_ALLOW_ROUND_UP リスト表示で、フォーカスがリストの先頭行にあるとき[Q1]キーを押すと最終行に、リストの最終行にあるとき[Q2]キーを押すと先頭行にそれぞれ移動します。
AM_NO_SCROLL_BARリスト表示領域にスクロールバーを表示しません。
AM_LIST_PAINT_BGCOLORリスト表示の行を表示するとき、ラジオボタンやチェックボックス、テキストの末尾から行末までの空白の背景をその行に指定された背景色で描画します。デフォルトではAM_Option構造体MenuBackColorで指定された背景色で描画します。(Ver. 1.5.0以降)
AM_THICK_SCROLL_BARリスト表示領域にスクロールバーを表示するとき、2ドットの赤色のラインで描画します。デフォルトではAM_Option構造体MenuForeColorで指定された色の1ドットのラインを描画します。(Ver. 1.5.0以降)

DefaultFont
 デフォルトのフォントを次のいずれかの値で指定します。
説明
MEDIUM_FONT MEDIUM_FONTで表示する。
LARGE_FONT LARGE_FONTで表示する。
LARGE_FONT2 LARGE_FONT2で表示する。
HUGE_FONT HUGE_FONTで表示する。
0 フォントを指定しない。(デフォルトのフォントはMEDIUM_FONT)

DefaultLineSpacing
 行間のピクセル数を指定します。(デフォルトの行間は1ピクセルです。)
SpecialKey1, SpecialKey2
 特殊キー操作のためのキーを次の値で指定します。
説明
NUM0_KEY [0]キー
NUM1_KEY [1]キー
NUM2_KEY [2]キー
NUM3_KEY [3]キー
NUM4_KEY [4]キー
NUM5_KEY [5]キー
NUM6_KEY [6]キー
NUM7_KEY [7]キー
NUM8_KEY [8]キー
NUM9_KEY [9]キー
SCAN_KEY [SCAN]キー
Q1_KEY [Q1]キー
Q2_KEY [Q2]キー
BS_KEY [BS]キー
CLR_KEY [CLEAR]キー
ENT_KEY [ENT]キー
SHIFT_KEY [SHIFT]キー
DOT_KEY [.]キー
F1_KEY [F1]キー
F2_KEY [F2]キー
F3_KEY [F3]キー

SpecialKeyHoldTime
 特殊キー操作を行うとき、キーを押し続ける時間をミリ秒単位で指定します。 SpecialKey1SpecialKey2で指定したキーを指定の時間以上同時に押し続けると、AMENU_SPECIAL_KEYイベントが発行されます。

解説

 AM_CreateMenu関数またはAL_CreateList関数でメニューリソースまたはリストリソースを生成する際にこの構造体でオプションを指定できます。
 AdvancedMenuライブライの各関数がOSの文字色や背景色の設定を変更したときは、それらの関数がアプリケーションにリターンする前に文字色と背景色をそれぞれMenuForeColorMenuBackColorに変更します。

 デフォルトで設定されるオプションの値は次のとおりです。
static const AM_ColorPalette default_color_palettes[] = {
  //ForeColor, BackColor, Select_ForeColor, Select_BackColor, Control_ForeColor
  {0x000000,   0xffffff,  0x000000,         RGB_GREEN,        0x000000}
};


static const AM_Option default_menu_option = {
  0x000000,    //MenuForeColor
  0xb0b0b0,    //MenuDisabledForeColor
  0xffffff,    //MenuBackColor
  1,           //NumberOfColorPalette
  (pAM_ColorPalette)default_color_palettes, //array of AM_ColorPalette
  0,           //Options
  MEDIUM_FONT, //DefaultFont
  1,           //DefaultLineSpacing
  0,           //SpecialKey1
  0,           //SpecialKey2
  0            //SpecialKeyHoldTime
};

必要条件

ヘッダファイル:
lib.h
AdvancedMenu.h

関連事項

最終更新日:2021/02/06