高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先


テクニカルQ&A

TB57 - メニュー項目の最大数
(1998 年 12 月 17 日)


Q: 標準 Macintosh メニュー定義関数 ('MDEF') は 255 項目を超えるメニューを処理できるのですか。もし処理できないのなら、255 項目を超えるメニューを処理するコードを書く方法を教えてください。

A: 標準 MDEF には 255 項目という厳然たる制限があります。この数を超える項目を処理するには、独自の MDEF を書く必要があります。

メニューの描画、スクロール、およびハイライトの速度が耐えられないほど遅くなる傾向があるため、255 を超える項目を処理する MDEF の開発はお勧めできません。また、50 を超えるような項目を含むメニューから選択を行うことはユーザにとって快適な経験とはいえません。

(ユーザがメニューに項目を追加でき、ふつうに 50 を超える項目の追加を選択できるようなインタフェースを採用している場合は、機能に対応するインタフェースを提供するためにより適切な方法がないかどうか検討してください。ただし、ユーザが意識的に "非常に多くの" 項目を追加できる方が、最初に確認を行うことなく、多くの項目を勝手に追加していくインタフェースに比べればはるかにまともであるといえます)

フォントなどの多数の項目を選択する方法としてより望ましいのは、ダイアログ内に表示されているスクロールリストからユーザが必要な項目を選択できるようにすることです。ダイアログが表示されている状態でキーを押すと、そのキーに一致する項目まですばやいスクロールが実行されます (標準ファイルダイアログのファイルリストのように)。

本当にクールなアプリケーションでは、ユーザが「フォント」メニューをカスタマイズできなければなりません。しかも、アプリケーションのデフォルトと各文書に対応するメニューをそれぞれ設定できればいうことはありません。ユーザは「フォント」メニューに表示されるフォントを選択できると同時に、その他のフォントについてはスクロールリストからアクセスできるようにします。

数百の項目を見て回ることからユーザを解放できるのであれば、これ以外の方法を使っても何ら問題はありません。
参考文献 Inside Macintosh: Menu Manager
Inside Macintosh: List Manager
Human Interface Guidelines


-- Pete Gontier
Worldwide Developer Technical Support