構文
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 特殊キー操作を有効にします。このフラグを指定したときは、SpecialKey1、SpecialKey2、SpecialKeyHoldTimeの各メンバーの指定が有効になります。 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
- 特殊キー操作を行うとき、キーを押し続ける時間をミリ秒単位で指定します。 SpecialKey1とSpecialKey2で指定したキーを指定の時間以上同時に押し続けると、AMENU_SPECIAL_KEYイベントが発行されます。
解説
AM_CreateMenu関数またはAL_CreateList関数でメニューリソースまたはリストリソースを生成する際にこの構造体でオプションを指定できます。AdvancedMenuライブライの各関数がOSの文字色や背景色の設定を変更したときは、それらの関数がアプリケーションにリターンする前に文字色と背景色をそれぞれMenuForeColorとMenuBackColorに変更します。
デフォルトで設定されるオプションの値は次のとおりです。
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