前へ 次へ 目次 文書セット ホーム


第 11 章

 

Microsoft Windows 用のデザイン


はじめに

本章では、Sun WorkShop Visual を使用してアプリケーションを Microsoft Windows で実行できるようにデザインする方法について説明します。Sun WorkShop Visual は、デザインに対してMFC (Microsoft Foundation Classes) を生成します。生成されたデザインは、Microsoft Windows 環境に直接移植できます。本章の内容は以下のとおりです。

    1. アプリケーションの生成
    C++ コード生成の 3 種類の様式およびダイアログテンプレートファイルの生成オプションについて簡単に説明します。

    2. Microsoft Windows モードでの起動
    デザインが MFC コード生成に適しているかどうかを確認できるように Sun WorkShop Visual を実行する方法について説明します。

    3. Sun WorkShop Visual ウィンドウ
    Windows デザインの作成に Sun WorkShop Visual を実行した場合の外観の違いについて説明します。「Sun WorkShop Visual」ウィンドウの説明を参照してください。

    4. Microsoft Windows 準拠
    Sun WorkShop Visual による検査で、デザインが Windows アプリケーションの生成に適しているかどうかを確認できない場合の詳細について説明します。「Microsoft Windows 準拠」を参照してください。

    5. 準拠不良
    取り込んだデザインが Windows 準拠検査に合格しなかった場合の対応処置について説明します。「準拠不良」ダイアログの説明を参照してください。

    6. リンクの使用
    Microsoft Windows 用のデザインでリンクを使用する方法について説明します。「リンクの使用」を参照してください。

    7. 特定のウィジェットとリソースの型についての注意事項
    以下を使用する場合に注意すべき内容について説明します。

    1. マネージャウィジェットとその配置
    2. フォント
    3. ピックスマップ、 ビットマップ、アイコン
    4. 描画領域

    8. サン以外のウィジェットの使用
    Microsoft Windows デザインでサン以外のウィジェット (またはユーザーウィジェット) を使用する方法について説明します。

    9. メソッド宣言
    生成された MFC コード中でのメソッド宣言場所を制御する方法について説明します。

    10. アプリケーションクラス
    MFC コードで CWinApp 生成を変更する方法について説明します。

    11. ファイル名
    Microsoft Windows に移植するファイルを命名する場合の注意事項について説明します。

    12. コード生成時の諸注意
    Microsoft Windows 用に生成するコードについて説明します。

    13. Sun WorkShop Visualの設定
    Microsoft Windows 用のデザインの作成に関連しているリソースについて説明します。

第 12 章では、Windows 互換のデザインの作成およびそれに対する MFC コードの生成について手順を追って説明します。その手順に従って実際の作業を行うことで、Sun WorkShop Visual を使用して Windows アプリケーションを作成する方法について詳しく学ぶことができます。

前提知識

この章は、すでに Sun WorkShop Visual についてある程度の知識を持ったユーザーを対象にしています。具体的には、第 8 章「構造化コード生成および再使用可能な定義」に記述するような構造化コード生成と、C++ コードの生成の概念を理解していることが必要です。C++ に関する記述は、「C++ クラス」を参照してください。

また、第 9 章「C++ コードの学習」 を参照して C++ コードの生成を実習することをお勧めします。

アプリケーションの生成

異なるプラットフォームに移植可能なアプリケーションを開発する際には、プラッ トフォームに固有の部分をカプセル化して、アプリケーションの本体部分が実装に関する詳細情報から切り 離されるようにすることが最も良い方法です。Sun WorkShop Visual は、C++ コード構造機能を使用して、同一の公開インタフェースを持つユーザーインタフェース (ただし実装は 2 種類) に対しての一連のクラスを生成します。

Sun WorkShop Visual では、これらの実装を様式と呼びます。生成可能な C++ コードには、3 種類の様式があります。

ダイアログテンプレートの使用

MFC を使用して Microsoft Windows 用のコードを生成する場合、以下を選択できます。

    1. デザインのダイアログをダイアログテンプレートとして生成する。ダイアログテンプレートとは、ダイアロ グを記述する Microsoft Windows のリソースファイルです。

    2. MFC コードでデザインを生成する。

1 番目の方法を選択した場合、Sun WorkShop Visual は、ダイアログテンプレートからウィジェットを取り出してダイアログを制御する MFC コードを生成します。その結果、完全なアプリケーションが生成されます。

  • リソースファイルとしてダイアログを生成するには、「コードオプション」ダイア ログの「リソースとして生成」トグルをオンにします。
  • 「リソースとして生成」トグルをオンにしないと、デザインに対して通常の MFC が生成されます。

    MFC 対応アプリケーションの開発に対しても Sun WorkShop Visual はその C++ モデルの機能をフルに発揮します。つまり、サブクラス作成および継承機能を使用して他の機能を追加する ことができるのです。たとえば、この機能を使ってユーザー定義ウィジェットをクロスプラットフォーム対 応にすることができます。

    Microsoft Windows モードでの起動

    Microsoft Windows モードで Sun WorkShop Visual を実行するには、次の 3 通りの方法があります。開発目的に合った一番良い方法を選択するようにしてください。その際、同一のSu n WorkShop Visual の実行形式を共有するユーザーの中には Microsoft Windows モードを望まないユーザーがいる可能性も考慮してください。

    リソースファイル

    Sun WorkShop Visual アプリケーション・リソースを含んでいるファイル内のリソースで、以下のように Microsoft Windows モードを指定することができます。

    Sun WorkShop Visual.windows:true

    コマンド行オプション

    Sun WorkShop Visual を起動する際に、コマンド行のフラグを使用して Microsoft Windows モードを指定することができます。

    Sun WorkShop Visual -windows

    別モードの Sun WorkShop Visual

    Microsoft Windows モードで Sun WorkShop Visual を起動する 3 番目の方法は、別のアプリケーションのような外観を持たせて常に Microsoft Windows モードにしておくものです。この方法は、前述のアプリケーション・リソースを使用します。

      1. $VISUROOT/bin ディレクトリの Sun WorkShop Visual シェルスクリプトへのハードリンクを作成します。

      2. 作成したファイルに visuwin などの名前を付けます。

      3. 手順 2 で指定したものと同一の名前で、$VISUROOT/lib ディレクトリの Sun WorkShop Visual バイナリへのハードリンクを作成します。

      4. シンボリックリンクの名前を使用して、ホームディレクトリにある .Xdefaults に次のように windows オプションを追加します。

      visuwin.windows:true

    この方法では、単純に visuwin と入力します。

    Sun WorkShop Visual が Microsoft Windows モードで起動します。デフォルトでは Microsoft Windows モードとならないため、その他のユーザーが誤って Microsoft Windows モードの Sun WorkShop Visual を起動してしまうことがありません。

      注 - この技法は、VGA 画面などの小画面に対してのバージョンを呼び出す際に使用されます。プログラム small_visu も、Sun WorkShop Visual リソースファイルから別のリソースセットを取り出す Sun WorkShop Visual バイナリへのハードリンクです。

    Sun WorkShop Visual ウィンドウ

    Microsoft Windows モードでの Sun WorkShop Visual ウィンドウは、通常のモードとは若干異なっています。主な外観の違いは、上部にあるツールバーに項目が 2 個 (同様にメニューが 2 個) 余分にあること、そしてウィジェットパレットにいくつかのウィジェットが含まれていないことです。以上 の違いのうち、後者については、「Microsoft Windows 準拠」で説明します。ここでは、前者を説明します。

    Microsoft Windows 準拠トグル

    Microsoft Windows 準拠トグルは、ツールバーおよびモジュールメニューにそれぞれ 1 つずつ存在します。両方とも同じ機能を持っています。

     

      図 11-1 ツールバー にある準拠ボタン (左 2 つ) とモジュールメニュー (右)

    これらのトグルは、現在のデザインが Microsoft Windows 準拠であるかどうかを示します。 Microsoft Windows モード以外で作成したデザインを読み出す、あるいは準拠する階層の領域にカット&ペーストを行う場 合には、Microsoft Windows に準拠しない構造を作成してしまう可能性があります。

    このような場合には、問題のある場所を示すメッセージが表示され、ツールバーお よびメニューバーにある Microsoft Windows 準拠トグルの設定が解除されます。設定が解除されている場合には、ツールバー・トグルは赤い×印を表示 します。デザインに適切な変更を加えた後で、どちらかのトグルを押すと、再度準拠の検査が行われます。 この時点で、デザインが Microsoft Windows 準拠である場合には、ツールバーにあるボタンが設定されます (赤い×印は消去されます) 。また、Microsoft Windows 準拠ではない場合には、問題のある場所を示すエラー・メッセージが表示され、トグルは設定解除されたま まとなります。

    様式メニュー

    ツールバーおよび「コード生成」ダイアログ内にある様式メニューは、同一のもの です。このメニューは、生成するコードの様式 (Motif、Motif XP または Microsoft Windows) を指定します。このメニューは C++ コード生成にのみ影響します。

     

      図 11-2 ツールバーにある様式メニュー

    準拠か非準拠かの表示

    Microsoft Windows 様式でのデザイン生成の障害となる Microsoft Windows 非準拠の問題に加えて、デザインには Microsoft Windows 実装では何の効果も持たない多くの属性 (ボタン上のラベルの整列など) が存在します。これは、Microsoft Windows ツールキットがその概念を持たないためです。Sun WorkShop Visual ではアイコンと色の違いを使用して、このような無効な属性を示します。

      1. アイコンによる表示
      リソースパネル内では、Microsoft Windows 上で無効なリソースは×印のアイコンで示され、有効なリソースはチェック印のアイコンで示されます。

      2. 色による表示
      Motif 様式では有効でも Microsoft Windows 様式では無効なリソース設定は、デフォルトでは、そのテキスト入力フィールドとオプションメニューがピ ンク色で表示されます。

    選択したウィジェットの変数名フィールドがピンク色1 で表示されている場合は、そのウィジェットに相当する Microsoft Windows オブジェクトは存在しないことを意味しています。たとえば、Microsoft Windows の場合、メニューバーはダイアログの属性の 1 つであり、メニューバーのオブジェクトというものは存在しません。したがって、Sun WorkShop Visual はメニューバーウィジェットに対しては変数名をピンクで表示することになります。

    Sun WorkShop Visual は同様の方法で、あるリンクが Microsoft Windows コードでは再現できないことも示します。リンクについての詳細は、「リンクの使用」 を参照してください。

    Microsoft Windows 準拠

    Motif および X ツールキットは Microsoft Windows ツールキットとほとんど類似性がありません。ツールキットの外観は類似していますが、実際の用途は大き く異なっています。このため、デザインに対して Microsoft Windows コードを生成するには、いくつかの制限が発生します。この制限は、Microsoft Windows モードの場合に発生します。 Microsoft Windows モードでは、制限に準じていないデザインは開発者自身がデザインを修正する必要があります (たとえば、既存のデザインを読めるようにするため)。そこで、Sun WorkShop Visual はそのデザインが Microsoft Windows に準拠しているかどうかを調べます。デザインが Microsoft Windows 準拠ではない場合には、Motif 様式の C++ コードだけが生成されます。

    この項では、Microsoft Windows 様式のコードを生成するために Sun WorkShop Visual が課す制約について説明します。Microsoft Windows モードの場合、これらの制約に準拠していないデザインは作成はできません。

    構造の制約

    Motif と Microsoft Windows では、イベントの処理方法が異なっているため、クラスにできないウィジェットがいくつか存在します。Mi crosoft Windows の場合では、ある種のウィジェットに関連するイベントは常に、そのウィジェットを包含するクラスに送ら れます。その他のウィジェットは、Microsoft Windows メッセージを処理するためにクラスにする必要があります。以下に、これらの制約を示します。

    • クラスにできないウィジェット
      • メニューバー
      • ポップアップメニュー
      • カスケードボタン
      • オプションメニュー
      • シェルの子であるすべてのウィジェット
    • クラスでなければならないウィジェット
      • シェル
      • スクロールウィンドウ (シェルの子ではない場合)
      • フレーム
      • ラジオボックス (フレームの子ではない場合)
      • 描画領域 (メインウィンドウ、スクロールウィンドウまたはシェルの子ではない場合)
      • 区画ウィンドウ
      • 区画ウィンドウの子

    Microsoft Windows に準拠していないデザインを読み込む際に最も起こりやすいエラーは、シェルが C++ クラスとして構成されていないということです。このエラーは修正しやすく、準拠不良ダイアログで自動的 に修正することができます。詳細は、本章 「準拠不良」を参照してください。

    C 構造体

    Microsoft Windows 準拠デザインでは関数やデータの構造化オプションはサポートされません。

    クラスおよびコールバック

    デザインが高度に構造的であり、C++ クラスを多用し、コールバック・メソッドが子ウィジェットの中に分散されているという場合には、構造的 なエラーはかなり複雑なものになります。この問題の起こる状況とその対応策を、次の例に示します。

    ウィジェットにコールバック・メソッドがある場合、そのウィジェットを含むクラ スでメソッドが宣言されます。次の例では、Sun WorkShop Visual を Microsoft Windows モード以外で使用して、メニューバー (MBar_class) をクラスとして宣言し、ボタンにコールバック・メソッドを与えました。

     

      図 11-3 非準拠の階層

    このメソッドは MBar_class 中で宣言されます。次にこのデザインを Microsoft Windows モードで読み込むと、次のようなエラーメッセージが表示されます。これはメニューバーをクラスにするこ とができないためです。

     

      図 11-4 準拠していないことを示すエラーメッセージ

    コアリソースダイアログを使用してメニューバーのクラス定義を削除すると、次の ようなエラーメッセージが表示されます。

     

      図 11-5 メソッド・コールバック宣言が無効であることを伝えるメッセージ

    この場合はメソッドの宣言をメニューバーから削除し、シェルに追加してください 。メソッド宣言はフォームに追加することはできません。これは、フォームはメニューバーと同様、Micros oft Windows オブジェクトとして実現されないためです。

    Sun WorkShop Visualは、上記のようにウィジェットクラス定義の削除を支援していますが、あるウィジェットをクラスに するかどうかによって、アプリケーションは大きな影響を受けます。構築するアプリケーションの構造を充 分に考慮した上で、クラス定義の指定または削除を実行するようにしてください。

    メニューバーの制約

    Microsoft Windows でのメニューバーは、ダイアログの属性を設定して作成します。そのため、2 つの準拠上の制約が生じます。

    • シェル 1 個に付き、メニューバーは 1 個だけサポートされる
      ダイアログ内に 2 個以上のメニューバーを含むデザインは作成できません。
    • メニューバーの親は、シェルの子でなければならない
      メニューバーは、シェルの直接の子となることはできません。また、ウィジェット階層内でシェルの孫より も深い位置に存在することはできません。

    ファイル選択ボックス

    ファイル選択ボックスは、ダイアログシェルまたは最上位シェルの子でなければな りません。Microsoft Windows の場合は、事前に定義されているファイル選択ダイアログでファイル選択が行われます。このダイアログは 、作業領域だけをその単一の子として含むことができ、メニューバーや (作業領域がマネージしていない) 他のボタンをサポートすることはできません。

    サポートされていないウィジェット

    以下に示すウィジェットは、Microsoft Windows で対応するコントロールを持っていないため、移植性のあるデザインに使用することはできません。

    • 選択ボックス
    • コマンド
    • メッセージボックス
    • 選択プロンプト
    • 描画ボタン
    • 矢印ボタン

    最後の 2 つのボタン以外はすべて、Windows コントロールとしてサポートされているダイアログテンプレートを使用して類似した機能を実装できます。

    スケール

    スケールウィジェットは、子コントロールをサポートすることができない Microsoft Windows スクロールバーコントロールとして実現されます。したがって、子を持つスケールウィジェットは、Micros oft Windows 準拠制約に違反することになります。

    フレームとラジオボックス

    包含制御へメッセージを引き渡す手順の関係から、フレームとラジオボックス(フレ ームの子でない場合)は両方ともクラスでなければなりません。クラスとして指定されていないと、格納コ ントロールへのメッセージの受け渡しが行われず、メッセージがダイアログで処理されません。ただしシェ ルの子はクラスにはなれないことから、フレームとラジオボックスは、どちらもシェルの直接の子になるこ とはできません。

    フレームの 2 番目の子は、ラベルウィジェットでなければなりません。このラベルウィジェットはフレームのタイトルに なります。Microsoft Windows におけるフレームコントロール (実際は CButton) は、タイトルの属性のみを持っています。タイトルとして別のコントロールを使用することはできません。 1 番目の子には、どのウィジェットでも使用できます。

    メインウィンドウとスクロールウィンドウ

    Microsoft Windows は、自動スクロールをサポートしていません。したがって、Microsoft Windows モードの Sun WorkShop Visual では、自動スクロールオプションは使用できません。メインウィンドウウィジェットは、作業領域とメニュ ーバーのみを子として持つことができます。コマンドウィンドウやメッセージウィンドウはサポートされて いません。

    区画ウィンドウ

    Windows 準拠のデザインは、セパレータ、メインウィンドウ、オプションメニュー、またはメニューバーといった子 を持つ区画ウィンドウを含むことができません。子は定義またはインスタンスにすることはできません。

    定義

    XmNlabelType リソースは、定義の構成要素であるウィジェットに対して、別のデザインでインスタンス化される時に明示 的に設定することはできません。つまり、定義中でボタンの XmNlabelType リソースが設定されていない場合、その定義が使用される時に XmNlabelType に PIXMAP を設定することはできません。これは、Microsoft Windows がビットマップを使用してボタンを実装する場合には、異なるクラス (Cbuttonではなく、CBitmapButton) を使用するためです。また、制約により、作成後に変数のクラスを変更することはできません。

    同じ理由から、プルダウンメニューを持たないカスケードボタンが定義中にある場 合、そのインスタンスにはプルダウンを追加することはできません。

    また、「構造の制約」で説明しているように、シェルの子は C++ クラスにはできないため、定義のルートウィジェットにはできません。シェルの子を定義にする場合は、シ ェルとその子の間に「ダミーの」コンテナウィジェットを追加してください。このようにすれば、このコン テナウィジェットをルートウィジェットとして、子を定義にすることができます。

    さらに、サブクラス化されていないインスタンスに対し、追加されるメソッドの あるウィジェットも定義には使用できません。たとえば、ローカラム定義のインスタンスがあり、そのルー トウィジェット (つまりローカラム) は、その構造をクラスと設定していない場合を考えてみてください。Microsoft Windows モードではない場合には、ローカラムのインスタンスにボタンを追加して、その包含スコープ内 (たとえば、シェルクラス) で宣言されているメソッド・コールバックを指定することができます。これは、Microsoft Windows モードでは行うことができません。イベントはそれを包含するコントロール (この場合はローカラムを表わす CWnd) によって処理されなければならないからです。

    定義内のウィジェットには名前を指定する必要があります。これは、Microsoft Windows で使用するウィジェットだけでなく、すべての C++ 定義にも必要なことです。

    準拠不良

    Microsoft Windows モード以外での Sun WorkShop Visual で作成したデザインを読み出すか、カット&ペーストを使用してデザインを作成すると Windows 非準拠になる可能性があります。Windows 非準拠になった場合は、準拠不良ダイアログが表示され、非準拠の原因となっているウィジェットが表示さ れます。

     

      図 11-6 準拠不良ダイアログ

    非準拠ウィジェットのリストをスクロールして、ウィジェットを選択することがで きます。ウィジェットを選択し、次のボタンの 1 つを押します。

    この例では、どのように準拠不良が検出されるかを示します。図 11-7 に示されている階層では、ローカラムウィジェット rc_is_class がクラスに指定されています。

     

      図 11-7 クラスとして定義されているローカラム

    rc_is_class をカットし、フォームを消去してペーストを行う (つまり、 rc_is_class をシェルの子としてペーストする) と、Sun WorkShop Visual はデザインを非準拠として、図 11-8 に示される準拠不良ダイアログを表示します。このダイアログは、シェルの子がクラスになることができな いことを示します。

     

      図 11-8 シェルの子としてクラスをペーストした場合のエラー

    操作を続けることはできますが、 rc_is_class の構造が変更されない限り、デザインは Microsoft Windows 準拠にはなりません。ツールバーにある Microsoft Windows 準拠トグルに赤い×印が表示され、Microsoft Windows 準拠ではないことが表示されます。

    リンクの使用

    Motif 様式では、リンクは事前定義されているコールバックです。Microsoft Windows では、ボタンのメッセージ・ハンドラによって呼び出される単純な大域関数として実装されています。ただ し、Microsoft Windows においてリンクを使用する場合には、いくつかの制約があります。これらの制約は、リンクに対してコード を生成するかどうかにのみ影響するものであり、デザインの準拠には影響しません。

    Microsoft Windows 上のオブジェクトではない宛て先ウィジェット

    リンクの宛て先として選択されているウィジェットが Microsoft Windows 上でオブジェクトとして割り当てられていない場合には、リンク編集ダイアログ内で追加ボタンがピンク色 になります。リンクを追加することはできますが、追加されたリンクは Motif でのみ有効で、Microsoft Windows コードには生成されません。これを示すために、リンクのリスト内にあるウィジェットはピンク色となりま す。Microsoft Windows オブジェクトに割り当てられるウィジェッの詳細は、「Motif ウィジェットの Microsoft Windows ウィジェットへの変換」を参照してください。

    リンクの宛て先としてのメニュー内のボタン

    宛て先ウィジェットがメニュー内のプッシュボタンであるリンクを追加する際には 、リンクの種類は有効化または無効化に制限されます。Microsoft Windows ではメニューボタンを表示または非表示、マネージまたはアンマネージすることはできません。

    リンクの宛て先としてのファイル選択ダイアログ

    ファイル選択ボックスは、Microsoft Windows 上では、DoModal メソッドを呼び出すと表示される CFileDialog というモード付きダイアログとして実装されます。このメソッドは、ファイル選択が完了する、あるいは取 り消されるまで戻りません。このため、Microsoft Windows の場合には、表示 (show) リンクだけがサポートされています。MFC、Motif XP の様式に対しては、選択が完了、または取消されるまで DoModal メソッドが戻らないようにコードが構成されます。

    マネージャウィジェットとその配置

    Motif マネージャウィジェットに相当するものは Microsoft Windows にはありません。フォームまたはローカラムなどのウィジェットは、Microsoft Windows では存在しません。クラスではないこれらのウィジェットが 1 つでもデザインに存在すると、生成されるコードでは無視されます。ウィジェットがクラスの場合は、Sun WorkShop Visual は、代わりにキャンバスを生成します。

    デザインからダイアログテンプレートを生成する場合、ダイアログテンプレートは< BR> 「平坦」になるため、ほとんどのマネージャウィジェットは無視されます。ダイアログテンプレートでは、 Motif でよく使用される包含階層は使用しません。したがって、テンプレートファイルのデザインは平坦なものに なります。ウィジェットはサブコンテナから取り出されて、ダイアログの子になります。これによって、デ ザイン全体でシステムリソースを使用することができます。

    Windows のリソースファイル (またはダイアログテンプレート) にメインアプリケーションコードと一緒にデザインを生成すると、Microsoft Windows IDE (Integrated Development Environment) を使用してデザインの配置を変更できます。ここで行なった変更内容は Sun WorkShop Visual に戻すことはできませんが、配置変更が必要になったときにすぐに変更するには便利な方法です。

    ダイアログテンプレートを生成したくない場合は、Sun WorkShop Visual は生成の際の大きさおよび位置の絶対値をコード中に生成します。したがって、たとえば幅 100 ピクセルで高さ 30 ピクセルのプッシュボタンが (10, 200) の位置に配置されている際に、このボタンに対してユーザーが x, y、幅および高さのリソースを明示的に設定しなかった場合でも、それらのリソースは Motif ツールキットによって自動的に計算され、その明示的な値が Microsoft Windows コード内で使用されます。これには、Motif で対応しているダイアログに非常によく似た Microsoft Windows ダイアログが生成されるという利点があります。

    フォントとその外観

    Sun WorkShop Visual は、Microsoft Windows コントロールに対して絶対サイズを生成するため、ダイアログのサイズは、その中に表示されるテキストに どんなフォントを使用しても適切でなければなりません。そのためには、デザイン過程でも、ダイアログを 実際に表示する際に使うフォントと類似したサイズのフォントを使用することをお勧めします。これには 2 つの方法があります。

      1. コントロールに対して XmNfontList リソースを設定、あるいはシェルで適切なフォントリソースを設定して、コントロールに特定のサイズのフ ォントを強制的に使用させる。
      ダイアログは類似した大きさになります。

      2. Sun WorkShop Visual が Microsoft Windows で使用されるデフォルトのフォントに近いフォントを使用してデザイン中のウィンドウを表示するようにリ ソースを設定する。
      結果として Sun WorkShop Visual はそのフォントに適した絶対的なサイズを生成します。Motif コードは、通常の方法でデフォルトフォントを使用します。
      Sun WorkShop Visual に、Microsoft Windows のデザインには特定のフォントを使用させるためには、ユーザーのホームディレクトリ中にある .Xdefaults で、リソースを適切なフォントに設定してください。

      visu*dialog.labelFontList:\
      -adobe-helvetica-medium-r-normal-*-14-*-*-*-*-77-iso8859-1

      visu*dialog.buttonFontList:\
      -adobe-helvetica-medium-r-normal-*-14-*-*-*-*-77-iso8859-1

      visu*dialog.textFontList:\
      -adobe-helvetica-medium-r-normal-*-14-*-*-*-*-77-iso8859-1

    ご使用の Microsoft Windows システムによって適切なフォントは異なります。適切なフォントの決定にあたっては、サイズと平均的な幅 の値が重要になります。

    サイズ変更動作

    Microsoft Windows モードでは、ユーザーによるダイアログのサイズ変更動作を実現するため、Sun WorkShop Visual は、OnSize メッセージ・ハンドラを生成します。Sun WorkShop Visual は、Motif のジオメトリ管理を正確に再現しようとはせず、特定のマネージャウィジェットの動作に類似したサイズ変 更動作を行うハンドラを生成します。以下がこれらのマネージャウィジェットです。

    • スクロールウィンドウ
    • フォーム
    • フレーム
    • ダイアログ・テンプレート

    これらのマネージャは、サイズ変更動作を生成するためには、クラスである必要は ありません。Sun WorkShop Visual は、それを包含するクラスに対し、そのすべての子孫ウィジェットを扱うハンドラを生成します。ユーザー がたとえばサブクラスを介して独自のハンドラを提供する場合には、コアリソース・ダイアログのコード生 成ページにある「MFC の OnSize ハンドラ」トグルの設定を解除することにより、サイズ変更ハンドラの生成を抑制することができます。図 11-9 を参照してください。

     

      図 11-9 コアリソースパネルの「コード生成」ページ

    フォント

    Microsoft Windows コードにフォントを生成するためには、フォントオブジェクトを使用する必要があります。これは、フォン トの Microsoft Windows 上での持続性を保証するためです。これは、フォントオブジェクトを使用することによってのみ保証できま す。

    Sun WorkShop Visual では、フォント選択ダイアログ内のフォントリストから項目が選択された場合には、適用ボタンをピンク色 にするといった視覚的な警告手段を提供しています。ただし、フォントオブジェクトのリストから項目が選 択された場合には、適用ボタンはピンク色ではなくなります。

    フォントリストとコンパウンド文字列

    Sun WorkShop Visual でオブジェクトに対してフォントリストを指定すると、リスト内の最初のフォントが Microsoft Windows でのオブジェクトに対して使用されます。タグの混在するコンパウンド文字列は、指定されている最初のフ ォントのみを使用して Microsoft Windows に変換されます。

    フォントの命名

    Microsoft Windows 内のフォントは、 X ウィンドウズとはかなり異なった方法で名前が付けられています。しかし、Microsoft Windows には洗練された照合アルゴリズムがあるため、Sun WorkShop Visual がかなり粗雑なマッピングを使用してフォント指定を変換しても、また、Microsoft Windows では使用できないフォントを指定した場合であっても、それらは妥当な外観のフォントに置き換えられます 。

    ピックスマップ、 ビットマップ、アイコン

    Sun WorkShop Visual で作成されたピックスマップ・オブジェクトは、Microsoft Windows ビットマップまたはアイコンに変換されます (オブジェクトがボタンであるか、ラベルであるかによります) 。この変換は、Microsoft Windows 用リソースファイルの生成の際、自動的に行われます。X モノクロームビットマップは、Microsoft Windows 変換できません。

    「コード生成」ダイアログから「Microsoft Windows リソース」を選択した場合には、Sun WorkShop Visual は、ユーザーが作成した各ピックスマップに対してリソースファイルおよびビットマップまたはアイコンフ ァイルが作成されることを通知します。ビットマップファイルには接尾辞 .bmp が、また、アイコンファイルには接尾辞 .ico が付けられます。Microsoft Windows に対しては、ファイルにピックスマップを保存する必要はありません。Motif モードで使用する場合は、保存してください。Microsoft Windows モードでは、アイコンは常に 32 x 32 ピクセルで表示されます。

    ピックスマップを使用するボタン

    ピックスマップ型のラベルを持つ Motif ボタンの場合には、Sun WorkShop Visual は Microsoft Windows 対応の CBitmapButton を生成します。Microsoft Windows の CBitmapButton は、Motif のピックスマップを使用するボタンとは異なって、境界線 (ボーダー) を持たないため、実際には、ボタンのようには見えません。このため、ピックスマップデザイン内に境界線 を組み込んでおくという方法もあります。

    Microsoft Windows のオブジェクトに割り当てられるウィジェットの背景および前景色は、自由に設定することができます。こ れらの色は、RGB (赤、緑、青) の値を使用して Microsoft Windows コードに生成されます。Microsoft Windows では、通常、X/Motif ほど色が豊富ではありません。このため、2 種類のプラットフォーム間では同一の色に見えない場合があります。ただし、デフォルトでは、Microsoft Windows 95 の「見た目と使い心地」の色が使用されます。

    カラーオブジェクト

    Sun WorkShop Visual では、通常の方法で背景および前景色を指定してください。背景色は、カラーオブジェクトでなければなり ません。前景色は、カラーオブジェクトである必要はありません。

    サン以外のウィジェットの使用

    Sun WorkShop Visual は、デフォルトの Motif セットに加えて、Xt ツールキットのウィジェットをサポートするように拡張できます。ここではデフォルトで用意されている以 外のウィジェットを、「ユーザー定義ウィジェット」または「サン以外のウィジェット」と呼びます。この 項目については、第 23 章「ユーザー定義ウィジェット」で詳細に説明しています。新たに追加したウィジェットは、Sun WorkShop Visual ウィジェットパレットに表示され、事前に定義された Motif のウィジェットと同じように使用できます。

    Microsoft Windows モードでは、現時点ではサン以外のウィジェットに対しての特別なサポートはありませんが、Sun WorkShop Visual の C++ モデルの持つ柔軟性のため、サン以外のウィジェットも使用することができます。

    Sun WorkShop Visual の自動処理

    Sun WorkShop Visual は、サン以外のウィジェットをあたかもその派生したクラスのインスタンスであるかのように扱います。た とえば、XmPushButton からサン以外のウィジェットが派生している場合、Sun WorkShop Visual は、そのウィジェットをあたかも XmPushButton であるかのようにデザインに追加します。次に、Motif XP での XmPushButton の実装方法にあわせて、CButton クラスにもとづく Motif XP コードを生成してサン以外のウィジェットのインスタンスを生成します。これによって Microsoft Windows コードは、プッシュボタンを使用した場合とまったく同じになります。

    上記の例で使用している XmPushButton クラスは Motif XP によってサポートされています。しかし、サン以外のウィジェットが Motif XP によってサポートされていないクラスから派生している場合は、Sun WorkShop Visual はそのウィジェットを扱うことができず、ウィジェットのコードも生成しません。この場合、次の「サン以 外のウィジェットに対する Sun WorkShop Visual の構成」で説明する方法を使用してください。

    サン以外のウィジェットに対する Sun WorkShop Visual の構成

    特定のサン以外のウィジェット (上記を参照) に対するSun WorkShop Visual のデフォルト動作に満足いかない場合は、C++ モデルの柔軟性を使用して Sun WorkShop Visual の動作を拡張できます。

      1. サン以外のウィジェットから Windows コントロールへの明確な対応関係を Windows コントロール (組み込み MFC クラスでも別のサン以外のコンポーネントでも可) に指定します。たとえば、サン以外のウィジェットの多くが ComboBox ウィジェットを含んでいますが、これは明らかに組み込み MFC クラスである CComboBox に対応しています。

      2. Sun WorkShop Visual にクラスの名前を指定します。コアリソースパネルの「コード生成」ページで、選択したサン以外のウィジ ェットに対して生成される C++ クラス構造を指定します。Sun WorkShop Visual は Motif 構成要素に対して独自の対応関係を使用してこの「コード生成」ページに記入しますが、サン以外のウィジ ェットに対する処理方法を常に用意できているわけではありません。処理方法が不明な場合は、単純に基本 のキャンバスを生成します。この場合は、Sun WorkShop Visual が割り当てた対応関係を、ユーザー自身が適切なものに修正する必要があります。Sun WorkShop Visual は、修正されたとおりにコードを生成します。つまり、MFC コードとして生成されるオブジェクトは正しいものになります。

    UNIX では、ユーザーは見せかけの (ダミー) クラスを組み込む必要があります。その結果、必要に応じて、純粋な Motif C++ または Motif XP のいずれかにコンパイルできます。追加が必要なコードを以下に示します。

    /* 純粋な Motif C++ コード */

    #ifdef XD_MOTIF

    #define MY_BASE_CLASS xd_XtWidget_c /* Sun WorkShop Visual の

    基底ウィジェットクラスを使用する */

    #endif /* XD_MOTIF */

     

    /* Motif XP C++ コード (厳密な MFC API を使用する UNIX C++) */

    #ifdef XD_MOTIF_MFC

    #define MY_BASE_CLASS CWnd /* Motif XP の「MFC」基底コントロール

    クラスを使用する */

    #endif /* XD_MOTIF_MFC */

     

    /* Windows C++ コード (本来の MFC) */

    #ifdef XD_WINDOWS_MFC

    #define MY_BASE_CLASS CComboBox /* MFC コントロールクラスの実

    マッピングを使用する */

    #endif /* XD_WINDOWS_MFC */

     

    #if defined(XD_MOTIF_MFC) || defined(XD_MOTIF)

    class MyMappingClass_c : public MY_BASE_CLASS

    {

    }

    #endif /* XD_MOTIF_MFC || XD_MOTIF */

    Motif XP の生成では、Motif XP ライブラリを拡張することもできます。詳細は、
    「Motif XP の強化」 を参照してください。

    サン以外のウィジェットのリソース

    サン以外のウィジェットで、認識できないウィジェットの場合、どの Motif リソースがどの MFC リソースに対応するべきか Sun WorkShop Visual は判断できません。このようなウィジェットの場合、リソースに対するコードを手動で追加する必要があり ます。以下に、その方法をいくつか示します。

      1. すべてのサン以外のウィジェットのリソースに緩い結合を設定します。これにより、サン以外のウィジェッ トのリソースが X リソースファイルに移動し、Sun WorkShop Visual で保持されるため、X 上で動作するようになります。次に、MFC リソースも X 上で動作できるように MFC リソースファイルを手動で編集します。緩い結合の作成方法と使用方法についての詳細は、「緩い結合」を参照してください。

      2. リソースとコードオプションを正しく設定して UNIX 上でコードを生成し、サン以外のウィジェットに対してはコード中にリソースを生成しないようにします。 そして、1 と同じように MFC リソースファイルを手動で編集します。

      3. コードプレリュードを指定して必要なリソースを追加します。コードプレリュードには任意のものを指定で きます。たとえば、以下に示す内容をマネージの前プレリュードとして指定することもできます (my_text をクラスと仮定)。

      #ifdef XD_MOTIF

      XtVaSetValues(my_text->xd_rootwidget(), XmNvalue, "Hello", 0) ;

      #endif /* XD_MOTIF */

       

      #if defined(XD_MOTIF_MFC) || defined(XD_WINDOWS_MFC)

      my_text->SetWindowText("Hello World") ;

      #endif /* XD_MOTIF_MFC || XD_WINDOWS_MFC */

    メソッド宣言

    「メソッド宣言」ダイアログは、Microsoft Windows モードの場合には「Microsoft Windows MFC」というラベルが付いているトグルボタンが存在します。

     

      図 11-10 「Microsoft Windows MFC」トグルを持つ「メソッド宣言」ダイアログ

    このトグルは、Microsoft Windows コードを生成する際に、包含するクラスのクラス構造でメソッドが宣言されているかどうかを示すために使 用されます。Motif のコードを生成する場合、メソッドは包含するクラスで宣言されます。包含するクラスとは、(明示的、あ るいは自動的に) その構造がクラスに設定されている、最も近い祖先です。

    これは、 Microsoft Windows コードのスタブにメソッドが現れるかどうかを示すトグルではありません。その表示は、「コールバック」 ダイアログで行われます。そのダイアログでアスタリスク (*) が表示されているコールバック・メソッドは、Microsoft Windows のスタブファイルに生成されません。通常は Sun WorkShop Visual が提供するデフォルトを使用する場合でも、「Microsoft Windows MFC」トグルを使用すると、メソッド宣言を制御することができます。選択したクラスでメソッドを宣言す る、あるいはユーザー独自のクラスでメソッドを宣言するには、メソッド宣言ダイアログを使用します。メ ソッドは必ずどこかで宣言する必要があります。

    「コールバック」ダイアログでメソッドコールバックを追加する際に、そのメソッ ドが宣言されていない場合、Sun WorkShop Visual は包含するクラス中にこれを宣言します。包含するクラスの中でメソッドを宣言したくない場合は、「メソ ッド宣言」ダイアログを使用して「Microsoft Windows MFC」トグルをオフに設定してください。

    描画領域

    描画領域がスクロールウィンドウ、メインウィンドウまたはシェルの子ではない場 合は、基本の CWnd クラスとして作成されます。その他の場合は、Microsoft Windows コード生成に対しては無視されます。詳細については、「Motif ウィジェットの Microsoft Windows ウィジェットへの変換」を参照してください。

    Microsoft Windows に対しての描画コールバックの追加

    Motif XP クラスライブラリは、描画サポートを一切含んでいません。描画サポートが必要な場合、プラットフォーム に固有のコードを書かなければなりません。ただし、Sun WorkShop Visual では、Motif 様式および Microsoft Windows メッセージ・ハンドラに対してのみデフォルトで宣言されるコールバック・メソッドを追加することができ ます。Microsoft Windows モードの場合は、Sun WorkShop Visual は複数のトグルボタンを描画領域リソースパネルに追加します。これらは、生成コードに Microsoft Windows メッセージ・ハンドラを追加するために使用できます。

     

      図 11-11 描画領域リソースパネル

    描画領域に対しての Microsoft Windows メッセージ・ハンドラ

    たとえば、図 11-11 のパネルで OnRButtonDown トグルを選択すると、以下のスタブがユーザーのコールバック・スタブファイルに追加されます。

    afx_msg void scrolled_win_c::OnRButtonDown( UINT nFlags, CPoint point )

    {

    }

    Microsoft Windows においては、 afx_msg は擬似キーワードであることに注意してください。以下に示す行は、C++ 外部宣言ファイルに追加されます。

    //{{AFX_MSG(scrolled_win_c)

    afx_msg void OnRButtonDown( UINT nFlags, CPoint point ):

    //}}AFX_MSG

    DECLARE_MESSAGE_MAP ()

    これにより、Microsoft Windows にメッセージ・ハンドラが登録されます。

    アプリケーションクラス

    Sun WorkShop Visual は、MFC C++ 様式ではアプリケーションを表わすために、CWinApp クラスのインスタンスを生成します。このクラスを構成するには、「モジュール」メニューから表示される 「アプリケーション・クラス」のダイアログを使用します。図 11-12 にダイアログを示します。

     

      図 11-12 「アプリケーション・クラス」ダイアログ

      注 - 自身で定義した場合も Sun WorkShop Visual のデフォルト設定で定義した場合も、アプリケーションの宣言は、メイン手続き (「コード生成」ダイアログ中の「メインプログラム」) の生成中に生成されるだけで、その他では生成されません。

    ファイル名

    PC 上のファイル名は、ドットの前に 8 バイト以下、ドットの後に 3 バイト以下の合計 12 バイト (ドットを含む) に制限されています。2 種類のプラットフォーム間でファイルを共有する場合には、この制限は Microsoft Motif コードを生成する際にも適用されます。また、MS-DOS および Microsoft Windows は大文字小文字の区別を行いません。したがって、ファイル名を区別するために大文字と小文字で違いを付 けないようにしてください。

    ピックスマップ

    上記の制限は、ピックスマップ・オブジェクトを命名する際にも適用されます。ピ ックスマップを作成した後で、Sun WorkShop Visual に Microsoft Windows リソースファイルを生成するように要求すると、Sun WorkShop Visual はピックスマップエディタに指定した名前を使用して、自動的に Microsoft Windows ビットマップおよびアイコンを別々のファイルに生成します。したがって、8 バイトを超える名前を指定した場合には、Microsoft Windows で問題が生じることになります。

    C++ コード

    異なるコンパイラには、ファイル名の拡張子に関してさまざまな制約があります。 接尾辞 .cxx は、一般的に許容されているようです。また、 .cpp は多くのコンパイラで許容されています。さらに、コンパイルシステムによっては、 .C および .c++ を受容するものもあります。Visual C++ では、C++コードを含むファイルに対して .c が指定された場合には、受け入れられません。

    「コード生成」ダイアログのデフォルトのフィルタを変更する方法については、
    「ファイル名フィルタの設定」を参照してください。

    メークファイル

    Microsoft Windows MFC のコードファイルには、メークファイルは生成されません。 make は、UNIX のユーティリティです。Microsoft Windows 版のアプリケーションを構築するには、Visual C++ などの Microsoft Windows 開発環境を使用してください。

      注 - UNIX プラットフォームで make を使用している場合は、名前の重複などの混乱を避けるために、コードの様式ごとに異なるディレクトリに コードファイルを生成することをお勧めします。

    コード生成時の諸注意

    コードを生成する場合に、いくつかの点について考慮しておく必要があります。詳 細は以下の各項で説明しますが、各項の概要は次のとおりです

      1. ダイアログテンプレートの生成
      Microsoft Windows リソースファイルとしてダイアログを生成する方法について説明します。これによって、Windows 環境でより簡単に操作できるようになります。

      2. 拡張 MFC
      生成した Windows アプリケーションで MFC 4 (およびそれ以上) の 3D の見た目と使い心地を使用できるようにする方法について説明します。

      3. プロジェクトファイル
      Sun WorkShop Visual が生成する Visual C++ プロジェクトファイルについて説明します。

      4. 保存ファイルとコードファイルの同期
      保存ファイルと生成したコードファイルの同期を保つ方法について説明します。

      5. ダイアログの点滅
      MFC コードの生成時にダイアログがリアライズ (実体化) される (すなわち表示される) ことを示す警告について説明します。

      6. 日本語フォントの使用
      日本語テキストを含む MFC コードを生成する場合の処理方法について説明します。

    ダイアログテンプレートの生成

    MFC に対してコードを生成する場合、「コードオプション」ダイアログ
    (「コード生成」ダイアログの下部にある「オプション」ボタンを押すと表示される) に「リソースとして生成」トグルが表示されます (図 11-13 を参照)。このトグルがオンになっていると、Sun WorkShop Visual はデザインにダイアログテンプレートとしてダイアログを生成します。ダイアログテンプレートは、ダイア ログを記述する Microsoft Windows のリソースファイルです。Sun WorkShop Visual は、ダイアログテンプレートからウィジェットを取り出してダイアログを制御する MFC コードをいくつか生成します。その結果、完全なアプリケーションが生成されます。「リソースとして生成 」トグルがオフになっていると、デザインに対して通常の MFC が生成されます。デフォルトでは、このトグルはオンになっています。

     

      図 11-13 「コードオプション」ダイアログ

    ダイアログテンプレートを使用すると、以下の利点があります。

      1. フォント設定などのシステムのデフォルトのリソースを使用できます。通常の MFC では使用できません。

      2. Microsoft Windows IDE を使用してダイアログの配置を簡単に変更できます。ただし、変更した配置内容を Sun WorkShop Visual に戻すことはできません。

    リソースファイル (またはダイアログテンプレート) が生成されるデザインはダイアログをベースにしています。つまり、主要な「フレーム」ウィンドウはあり ません。そのため、Motif と Microsoft Windows の表示内容は非常に似たものになります。

    拡張 MFC

    「コードオプション」ダイアログの「MFC 4.X 拡張」トグルを使用すると、Sun WorkShop Visual は MFC の拡張された作成関数を使用するコードを生成し、それによってアプリケーションの見た目と使い心地が 3D (立体的) になります。

    「MFC 4.X 拡張」トグルをオンにすると、ビットマップをラベルに、アイコンをボタンに対応付けることもできます。 その結果、立体表示される (3D) ボタンとイメージを作成できます。

    このように処理されるイメージのサイズは自然に確定されます。そのため、Motif デザインの表現は明確なものになります。

    拡張 MFC コードは、「リソースとして生成」トグルを使用しなくても生成できます。

    デフォルトでは、「MFC 4.X 拡張」トグルはオンになっています。

    「MFC 4.X 拡張」トグルを使ってで生成したコードは MFC 5 でも動作します。

    プロジェクトファイル

    Microsoft Windows 用にMFC コードを生成する場合、Microsoft Visual C++ で使用するプロジェクトファイルも「コード生成」ダイアログで指定したベース名を使用して生成されます 。これらのファイルは次のとおりです ( <generate_filename> は、「コード生成」ダイアログで指定したベース名を示します)。

    • <generate_filename>.dsw
      メインプロジェクトファイルです。このファイルは、次に示すファイルの情報を使用します。
    • <generate_filename>.dsp
      生成したファイルに関する情報が含まれています。

    メインプロジェクトファイル (接尾辞「dsw」が付いている) を Microsoft Visual C++ で開いてください。これらのプロジェクトファイルは、Visual C++ のバージョン 5 以降で使用するのに適しています。

    保存ファイルとコードファイルの同期

    Sun WorkShop Visual では、定義の保存ファイル中にウィジェット ID 番号を含める必要があります。そうすることで名前が付けられていない構成要素の配置を間接的に変更して も正しいコードを生成することが可能となります。ただし、コードが生成される前に、デザイン内でウィジ ェット ID に影響するような変更 (リセットなど) が行われた場合には、問題が生じる可能性があります。Sun WorkShop Visual は、このような同期の乱れを検出すると、ファイルを保管するようメッセージを表示します。

    ダイアログの点滅

    Sun WorkShop Visual が正確に配置情報を生成することができるように、ダイアログはリアライズ (実体化) される必要があります。Sun WorkShop Visual は、Microsoft Windows コードが生成される際に、リアライズ (実体化) されていないダイアログを自動的に表示して、すぐに非表示にします。ディスプレイ上でダイアログが瞬間 的に表示されることがあるのは、このためです。

    日本語フォントの使用

    Sun WorkShop Visual で生成した Microsoft Foundation Class (MFC) コードが日本語テキストを適切に扱うためには、そのコードを Microsoft Windows 上でコンパイルする前に特別な処理をする必要があります。この処理は、Sun WorkShop Visual 付属のフィルタユーティリティ、 visutosj で行います。

    visutosj は、MFC コード中で使用されるテキスト文字列を EUC から Shift-JIS に変換し、MFC の CFont 作成 (create) メソッドの中の DEFAULT_CHRSET の値を SHIFTJIS_CHARSET に変更します。

    visutosj の使用方法は以下のとおりです。

    visutosj [-xf*] [ファイル]

    引数の意味は以下のとおりです。

    表 11-1 引数の意味

    -x

    visutosj ユーティリティの概要を表示

    -f <フィルタ>

    使用する Shift JIS のフィルタを指定 (デフォルトは jconv )

    -*

    任意のオプションを指定可能。指定したオプションは、フィルタへ引き渡されます 。

    [ファイル]

    任意のファイル名。指定のない場合は標準入力が使用されます。

    Sun WorkShop Visual の設定

    Microsoft Windows モードでも Sun WorkShop Visual に適用されるアプリケーションリソースは、数多く存在します。これらのリソースの 1 つに、Sun WorkShop Visual をデフォルトで Microsoft Windows モードで実行するかどうかを示す、 -windows オプションがあります。このリソースについては、「Microsoft Windows モードでの起動」を参照してください。

    生成された行に Ctrl-M を追加

    Sun WorkShop Visual は、Microsoft Windows のコードを生成する際にデフォルトで、各行の改行記号の前にキャリッジリターンとして Ctrl-M を追加します。この Ctrl-M は MS-DOS で使用するため、自身で作成したファイルを変換プログラムで処理する際に必要になります。各行の末尾に Ctrl-M を追加したくない場合は、Sun WorkShop Visual のリソースファイルを以下のように設定してください。

    visu.mfcCarriageReturn:false

    Microsoft Windows ではないリソースフィールドの色の設定

    デフォルトでは、Sun WorkShop Visual はリソースパネルにあるフィールド、またはボタンや他のテキストフィールドが Microsoft Windows に適用できない場合には、その要素をピンク色で表示して、適用不可能であることが示されます。この色は 、以下に示す Sun WorkShop Visual アプリケーションリソースファイルの行を変更することで、別の色にできます。

    visu.mfcTextWarningBackground:#ecc9c9eacdda

    上記の例は、デフォルトの内容 (ピンク色) を示します。この大きな数値の部分は、よりわかりやすい、色の名前に変更することもできます。

    ファイル名フィルタの設定

    「コード生成」ダイアログのファイルを入力するテキストフィールドには、デフォ ルトのファイル名フィルタが使用されています。このファイル名フィルタは、アプリケーションのリソース ファイルを変更することで、別のものにできます。以下の行を検索してください。

    visu.c++Filter: *.c

    visu.c++StubsFilter: *.c

    これらは、Motif コード (Motif および Motif XP の両方) 生成のためのデフォルトの内容です。Microsoft Windows コード生成のためには、次の 2つのファイル名フィルタがあります。

    visu.visualC++Filter: *.cpp

    visu.visualC++Filter: *.cpp

    2 種類のプラットフォーム間でコードを共有する場合には、2 つの異なる様式についてファイル名フィルタが同じになるようにします。両方のプラットフォームに互換性 を持つファイル名についての注意事項については、「ファイル名」を参照してください。


    1. ピンク表示はカラーディスプレイでのみ識別することができます。


    前へ 次へ 目次 文書セット ホーム

    サン・マイクロシステムズ株式会社
    Copyright information. All rights reserved.