共通デスクトップ環境 アプリケーション・ビルダ・ユーザーズ・ガイド

メニューの作成と編集

メニューは、意味のあるラベルの付いた項目のリストです。各項目は、メニューが表示され、項目が選択された時に実行される機能に接続されます。この節では、メニューを作成および編集する方法、メニューをオブジェクトに接続する方法、メニュー項目をプログラムとしての機能に接続する方法について説明します。

メニューは、メニュー・ボタン、メニューバー項目、リスト、および 4 種類の区画に接続できます。メニューはオプション・メニューに自動的に接続されるので、メニューを接続する必要はありません。

メニュー属性エディタ

メニュー属性エディタは、メニューの作成に使用します。メニューは、属性エディタで編集される多くのオブジェクトとは異なり、作成されたオブジェクトであり、オブジェクト・パレットからは使用できません。

次に、メニュー・オブジェクトに特有の属性だけを示します。[オブジェクト型]、[オブジェクト]、[オブジェクト名]、および [カラー] の詳細は、「属性エディタ: 一般属性」を参照してください。[項目]、[ラベル]、および [項目の状態 (アクティブ) ] の詳細は、「属性エディタ: 共通属性」を参照してください。

新規メニューの追加

新規メニューをメニューのリストに追加します。

編集

メニュー・オブジェクトのリストの中から選択した項目に対して編集機能 ([カット]、[コピー]、[ペースト]、[削除]) を実行します。[カット] と [コピー] は、[ペースト] に備えて、選択した項目をバッファに置きます。[削除] は項目を削除しますが、バッファに置きません。

ティアオフ

ティアオフを使用可能にするかしないかを指定します。ティアオフを使用可能にした場合、選択したメニューは「表示可能」になります。すなわち、ティアオフ・インジケータ (ドットのある行) をクリックした場合、明示的に閉じるまでメニューは表示されたままです。

項目のラベルのタイプ

[項目] リストに選択した項目のラベルのタイプ ([文字列]、[グラフィック]、または [セパレータ]) を指定します。[グラフィック] を選択すると、[ラベル] が [グラフィック・ファイル名] になります。[セパレータ] を選択すると、[ラベル] または [グラフィック・ファイル名] がアクティブでなくなり、[線の形状] がアクティブになります。[セパレータ] メニュー項目は、アプリケーション・ビルダの主ウィンドウの [エディタ] メニューに表示されるようなメニューの仕切りを作成するために使用されます。

項目のニーモニック

メニューが表示された時の項目を選択するためのキーボード・ショートカットとして使用する、選択された項目の 1 文字を指定します。指定した文字には下線が付きます。メニューが表示されている時にニーモニック文字を押すと、その項目が選択されます。ニーモニックとして使用した文字は大文字と小文字が区別され、1 つのメニュー内で 1 度だけしかニーモニックとして使用できないので注意してください。

アクセラレータ

選択した項目の選択用のキーボード・ショートカットを指定します。アクセラレータは、接頭辞 (Ctrl、Alt、Meta、または Shift) 、<Key>、および文字 (大文字または小文字) で構成されます。たとえば、Control-x をアクセラレータにするには、次のように入力してください。

Ctrl<Key>x

テスト・モードまたはコンパイル済みアプリケーションでメニューを表示すると、メニュー項目ラベルの右に Ctrl+x が取り込まれます。メニューのあるウィンドウをフォーカスして、[Control] キーを押しながら x を入力すると、メニュー項目に指定したアクションが実行されます。

[Shift] キーと他のキーを組み合わせて、コンパウンド接頭辞を形成することもできます。Shift Control-x をアクセラレータにするには、次のように入力してください。

Shift Ctrl<Key>x

線の形状

選択したセパレータ項目の線の形状のタイプを指定します。これは、[項目のラベルのタイプ] が [セパレータ] の時だけアクティブです。選択肢は、[なし]、[内側エッチング]、[外側エッチング]、[内側エッチング・ダッシュ]、[外側エッチング・ダッシュ]、[一本線]、[二本線]、[一本の破線]、および [二本の破線]です。選択した線の形状のセパレータは、グラフィックまたはテキスト・ラベルの代わりに、メニューに表示されます。

項目のサブメニュー

[項目] リスト中の選択された項目のサブメニューを接続、接続解除、作成、または編集するためのメニュー・ボタンとテキスト・フィールドです。サブメニューが、選択した項目に接続されると、サブメニュー名が、テキスト・フィールドに表示されます。セパレータ項目タイプには無効です。

メニューを作成するには

次の手順では、ユーザがメニューを作成し、2 つの別の手順としてインタフェース・オブジェクトに接続することを想定しています。これらの手順を組み合わせるには、「メニューを作成および接続するには」を参照してください。


注 -

メニューは、モジュール内でのみ使用可能です。作成したメニューが、メニューを接続するオブジェクトと同じモジュールにあることを確認してください。メニューは現在のモジュールに作成されますが、そのモジュールは、インタフェースで選択されるものによって決定されます。アプリケーション・ビルダの主ウィンドウのオブジェクト情報領域内の [編集モジュール] フィールドが、現在のモジュールを示します。


  1. アプリケーション・ビルダの主ウィンドウの [エディタ] メニューから [メニュー]を選択して、メニュー属性エディタを表示します。

    あるいは、属性エディタを表示して、オブジェクト型に対しては [メニュー] を選択します。

    主ウィンドウの [エディタ] メニューから [メニュー] を選択することは、[オブジェクト型] が [メニュー] の場合に属性エディタで [ティアオフ] ボタンをクリックすることと同じです。

    エディタの詳細は、「メニュー属性エディタ」を参照してください。

    現在のプロジェクトにメニューが存在しない場合、[メニュー・オブジェクト] リストは空であり、[新規メニューの追加] と [編集] ボタンだけがアクティブになります。

    現在のプロジェクトにメニューが存在する場合、メニューは [メニュー・オブジェクト] リストにリストされます。リスト中のメニューの 1 つが選択されると、メニューの属性が、編集されるために表示されます。

  2. [新規メニューの追加] をクリックします。

    デフォルトのオブジェクト名 (「menu」、「menu2」となりますが、最後に付く数字は現在のモジュールに存在するメニューの数に依存します) を持ち、[項目] リストに 2 つの項目 (「項目 1」および 「項目 2」) を持ったメニューが作成されます。メニューは、[メニュー・オブジェクト] リストの終わりに追加されます。

    この時、メニュー名の前に現在のモジュール名が付きます。メニューは、[オブジェクト名]、[ティアオフ]、[項目]、[項目のラベルのタイプ]、[ラベル]、および [項目の状態] のデフォルト値を持っています。

    多数のメニューが必要な場合は、[新規メニューの追加] を適切な回数分クリックして、すべてのメニューを同時に作成できます。この時、メニュー項目に接続されるサブメニューとして使用するメニューも作成できます。

  3. 「メニューを編集するには」の説明に従って、メニューを編集します。

    メニューの編集は、メニュー作成直後でも、後から行うこともできます。

メニューを作成および編集した後は通常、メニューをインタフェース・オブジェクトに接続し、メニュー項目と特定のアクションの間の接続を作成してメニュー機能を作成できます。その方法については、「既存メニューをオブジェクトに接続するには」、および 「アクションへのメニュー項目の接続」を参照してください。サブメニューをメニュー項目に接続する場合は、「既存サブメニューをメニュー項目に接続するには」を参照してください。

メニューを編集するには

メニューの作成後は、メニューの編集が必要です。たとえば、メニュー項目の追加、メニュー項目への意味のある名前の付与、サブメニューの追加などです。

  1. アプリケーションの主ウィンドウの [エディタ] メニューから [メニュー] を選択して、メニュー属性エディタを表示します。

    あるいは、属性エディタを表示して、[オブジェクト型]として [メニュー] を選択します。

    エディタの詳細は、「メニュー属性エディタ」を参照してください。

  2. 必要であれば、オブジェクト名を変更します。

    自動的に生成されるオブジェクト名は、モジュール内において固有なので、通常変更する必要はありません。

  3. 必要であれば、[使用する] をクリックして、ティアオフ機能を使用可能にします。

    これにより、メニューは「表示可能」になります。すなわち、ティアオフ・インジケータ (ドットのある行) をクリックした場合、メニュー項目を選択した時点でメニューは消えません。閉じる操作を実行するまで、メニューは表示されたままです。

  4. 必要であれば、メニュー項目を [項目] リストに追加します。

    [項目の追加] をクリックすると、選択した項目の後に項目が追加されます。その他の編集機能を実行する場合は、[編集] メニュー・ボタンから選択します。

  5. 必要であれば、[項目] リスト中のメニュー項目の [項目のラベルのタイプ] を変更します。

    選択肢は、[文字列] (テキスト)、[グラフィック]、または [セパレータ] です。[グラフィック] を選択した場合、[ラベル] が [グラフィック・ファイル名] になります。[セパレータ] を選択した場合、[線の形状] がアクティブになります。

  6. 必要であれば、選択した項目の [ラベル] または [グラフィック・ファイル名] を変更します。


    注 -

    メニュー項目のラベルの最も簡単な編集方法は、[項目] リストから一番最初のものを選択することです。たとえば、[ラベル] フィールドでこれを行います。新しい項目名を入力して [Return] キーを押します。新規の項目名が [項目] リストに表示され、リストの次の項目が選択されます。すべてのラベルの編集が完了するまで、選択、入力、[Return] というプロセスを繰り返して作業を進めます。


    [項目のラベルのタイプ] で [グラフィック] を選択した場合、[グラフィック・ファイル名] は xpm または xbm グラフィック・ファイルでなければなりません。

  7. 必要であれば、[項目のニーモニック] を入力します。

    項目ラベルの 1 文字を入力します。その文字には、 メニュー項目のラベル上で下線が付きます。メニューが表示されている場合、キーを押すと、実行されるメニュー項目にアクションが接続されます。


    注 -

    大文字や小文字に関係なく、同じニーモニック文字は、1 つのメニュー内で 1 度だけしか使用できません。


  8. 必要であれば、[アクセラレータ] に入力します。

    アクセラレータは、接頭辞 (Ctrl、Alt、Meta、または Shift)、<Key>、および文字 (大文字または小文字) で構成されます。詳細は、「メニュー属性エディタ」を参照してください。

  9. [項目のラベルのタイプ] が [セパレータ] の場合は、線の形状を選択します。

    選択肢のリストについては、「メニュー属性エディタ」を参照してください。

  10. 該当する場合は、[項目のサブメニュー] を接続します。

    接続方法については、「既存サブメニューをメニュー項目に接続するには」を参照してください。

  11. 必要であれば、[項目の状態] を変更します。

    デフォルトでは、項目の状態はアクティブです。アプリケーションの起動時にメニュー項目をアクティブではない状態にするには、[アクティブ] チェック・ボックスをクリックして、選択を解除します。

  12. 必要であれば、バックグラウンドとフォアグラウンドのカラーを選択します。

    カラーを入力するか、メニューから [カラー・チューザ] を選択して [カラー・チューザ] からカラーを選択します。詳細は、「カラー・チューザからカラーを選択するには」を参照してください。

  13. 必要であれば、[接続] をクリックして、プログラム上の接続をメニュー項目に追加します。

    追加方法については、「アクションへのメニュー項目の接続」を参照してください。

  14. [適用] または [了解] をクリックして、変更内容を適用します。

    [適用] をクリックした場合、属性エディタはそのまま表示されます。

既存メニューをオブジェクトに接続するには

次の説明では、「メニューを作成するには」の手順に従って 1 つ以上のメニューが作成されていて、メニューをインタフェースのオブジェクトに接続する準備がユーザにできていることを想定しています。メニューは、メニュー・ボタン、メニューバー項目、リスト、および 4 種類の区画に接続できます。メニューは、オプション・メニューに自動的に接続されるので、メニューを接続する必要はありません。

  1. エディタで選択されたメニューを接続するオブジェクトを持つ [属性エディタ]を表示します。

    インタフェースまたは [モジュール・ブラウザ] でオブジェクトをダブルクリックするか、属性エディタで適切なオブジェクト型を選択して、[オブジェクト] リストから希望のオブジェクトを選択します。

  2. 選択したオブジェクトに接続するメニューを選択します。

    [ポップアップ・メニュー] または [プルダウン・メニュー] メニュー・ボタン上で、マウス・ボタン 2 をクリックするか、マウス・ボタン 1 または 3 を押します。メニューのサブメニューから、適切なメニューを選択します。

    Graphic

    [ポップアップ・メニュー] または [プルダウン・メニュー] のテキスト・フィールドに、選択したメニュー名が表示されます。

  3. [了解] か [適用] をクリックします。

    選択したオブジェクトにメニューが接続されます。メニューを使用できるようにする方法については、「オブジェクト間接続」を参照してください。


注 -

メニューを区画オブジェクトの 1 つ、またはリストに接続した場合、メニューはポップアップ・メニューになり、その区画上またはリスト上にカーソルがあるときにマウス・ボタン 3 を押すことによって、テスト・モードまたはコンパイル済みアプリケーションで表示できます。


メニューを作成および接続するには

メニューをオブジェクトに作成および接続する方法は、「メニューを作成するには」、および 「既存メニューをオブジェクトに接続するには」でも説明しています。次に説明する方法では、メニューの作成と接続を同時にできます。

  1. エディタで選択したメニューを接続するオブジェクトを持つ [属性エディタ] を表示します。

    インタフェースまたはモジュール・ブラウザでオブジェクトをダブルクリックするか、属性エディタで適切なオブジェクト型を選択して、[オブジェクト] リストから希望のオブジェクトを選択します。

  2. いくつかのオブジェクトで使用可能なプルダウン・メニューまたはポップアップ・メニュー・ボタンから [新規メニューの作成] を選択します。

    プルダウン・メニューは、メニュー・ボタンとメニュー・バーで使用可能です。ポップアップ・メニューは、すべての区画オブジェクトと、リストで使用可能です。項目のサブメニューは、メニュー自身で使用可能です。

    [メニュー属性エディタ] が表示され、その [メニュー・オブジェクト] リストには、選択されて新規に作成されたメニューがあります。メニューは、[オブジェクト名]、[ティアオフ]、[項目]、[項目のラベルのタイプ]、[ラベル]、および [項目の状態] のデフォルト値を持っています。

    [オブジェクト名] は、「object_type_menu」、「object_type_menu2」というようになります。これは、[新規メニューの作成] の選択時に属性エディタで選択したオブジェクトの型と、現在のモジュールに対して作成されたメニューの数に依存します。メニューは、 [メニュー・オブジェクト] リストの終わりに追加されます。この時、メニュー名の前に現在のモジュール名が付きます。

  3. メニューを編集し、[了解] をクリックして変更内容を適用し、[メニュー属性エディタ] を終了します。

    編集方法については、「メニューを編集するには」を参照してください。メニューの編集は、後で行うこともできます。

  4. 属性エディタで、[適用] または [了解] をクリックして、選択したオブジェクトにメニューを接続します。

    メニューを使用できるようにする方法については、「オブジェクト間接続」を参照してください。

既存サブメニューをメニュー項目に接続するには

次の説明では、「メニューを作成するには」に従って 2 つ以上のメニューが作成されていて、そのうちの 1 つをサブメニューとしてメニュー項目に接続する準備がユーザにできていると想定しています。

  1. オブジェクト型としてメニューが選択されているメニュー属性エディタまたは属性エディタを表示します。

  2. [メニュー・オブジェクト] または [オブジェクト] リストの中から、サブメニューを接続するメニュー項目を持つメニューを選択します。

  3. [項目] リストの中から、サブメニューを接続するメニュー項目を選択します。

  4. 選択したメニュー項目に接続するメニューを選択します。

    [項目のサブメニュー] メニュー・ボタン上で、マウス・ボタン 2 をクリックするか、マウス・ボタン 1 または 3 を押します。メニューのサブメニューから、適切なメニューを選択します。

    Graphic

    [項目のサブメニュー] のテキスト・フィールドに、選択したメニュー名が表示されます。

  5. [了解] か [適用] をクリックします。

    選択したメニュー項目に、サブメニューが接続されます。メニューを使用できるようにする方法については、「オブジェクト間接続」を参照してください。

サブメニューを作成および接続するには

次の説明では、1 つ以上のメニューが作成されていて、そのメニューの中の項目の 1 つに対して、サブメニューを作成および接続する場合を想定しています。この方法で、サブメニューを作成し、1 つの手順の一部として接続できます。また、メニューを作成し (「メニューを作成するには」を参照) 、メニュー項目に接続する (「既存サブメニューをメニュー項目に接続するには」を参照) という方法でも実行できます。


注 -

サブメニューを作成および接続する場合、2 つのエディタを使用します。一方でメニューを作成し、もう一方でサブメニューをメニュー項目に接続します。この作業をメニュー属性エディタで始める場合、サブメニューの接続はメニュー属性エディタで行いますが、サブメニューの作成は属性エディタで行います。属性エディタで始める場合は、サブメニューの接続を属性エディタで行い、サブメニューの作成はメニュー属性エディタで行います。次にメニュー属性エディタで始める場合の手順を示します。


  1. アプリケーション・ビルダの主ウィンドウの [エディタ] メニューから [メニュー] を選択して、メニュー属性エディタを表示します。

  2. [オブジェクト] リストから、サブメニューを接続するメニュー項目を持つメニューを選択します。

  3. [項目] リストから、サブメニューを接続するメニュー項目を選択します。

  4. [項目のサブメニュー] メニューから、[新規メニューの作成] を選択します。

    属性エディタが表示され、その [オブジェクト] リストには新規メニューが選択されています。

  5. メニューを編集し、[了解] をクリックして、変更した編集内容を適用し、属性エディタを終了します。

    編集方法については、「メニューを編集するには」を参照してください。メニューの編集は、後で行うこともできます。

  6. メニュー属性エディタで、[適用] をクリックして、手順 2 で選択したメニュー項目にサブメニューを接続します。サブメニューを使用できるようにする方法については、「アクションへのメニュー項目の接続」を参照してください。

ヘルプ・メニューを作成および接続するには

アプリケーションの主メイン・ウィンドウのメニュー・バーの右端にあるヘルプ・メニューは、アプリケーション一般に共通する機能です。次のようにして、ヘルプ・メニューを作成し、メニュー・バーの [ヘルプ] 項目に接続します。次の説明では、メニュー・バーを含む主メイン・ウィンドウがあり、ヘルプはそのメニュー・バーの項目の 1 つであると想定しています。

  1. エディタで選択したメニューバーを持つ属性エディタを表示します。

    インタフェースまたは [モジュール・ブラウザ] で適切なメニュー・バーをダブルクリックするか、属性エディタの [オブジェクト型] メニューから [メニューバー] を選択して、[オブジェクト] リストから希望のメニュー・バーを選択します。通常はこれで、主メイン・ウィンドウのメニュー・バーになります。

  2. [項目] リストから [ヘルプ] を選択します。

    これが、メニュー・バーの [ヘルプ] 項目になります。

  3. [プルダウン・メニュー] メニュー・ボタン上で、マウス・ボタン 2 をクリックするか、マウス・ボタン 1 または 3 を押します。メニューのサブメニューから [新規メニューの作成] を選択します。

    [プルダウン・メニュー] のテキスト・フィールドに新規メニュー名が表示され、新規メニューを読み込んだメニュー属性エディタが表示されます。

  4. メニューを編集します。

    1. たとえば、アプリケーション・ビルダのヘルプ・メニューに似たヘルプ・メニューにする場合は、[項目] リストの 2 つのデフォルト項目に 4 つの項目を追加します。各項目を順番に選択して、適切なラベル (たとえば、[概要]、[使い方]、[リファレンス]、[アイテムヘルプ]、[ヘルプの使い方]、および [ <アプリケーション名> について]) を入力します。

    2. 必要に応じて、項目のニーモニックおよびアクセラレータを追加します。

      詳細は、「メニュー属性エディタ」を参照してください。

    3. 必要に応じて、メニューに対するその他の変更を行います。

  5. メニュー属性エディタで、[了解] か [適用] をクリックします。

    メニューが完成しました。[了解] をクリックすると、メニュー属性エディタが終了します。

  6. 属性エディタで、[了解] か [適用] をクリックします。

    [ヘルプ] メニューが、メニュー・バーの [ヘルプ] 項目に接続されました。[了解] をクリックすると、属性エディタが終了します。