[Atelier Blue アトリエブルー]HomeプログラミングManaged DirectX3D>最小サイズのあるウィンドウ

最小サイズのあるウィンドウ

早速DirectDrawに取りかかりたい所ですが、その前に「最小サイズのあるウィンドウ」を作ります。下の手順を行ってください。

  1. 空のプロジェクトを用意する。
  2. 参照の追加をする。
    • Microsoft.DirectX
    • Microsoft.DirectX.Direct3D
    • Microsoft.DirectX.Direct3DX
    • System.dll
    • System.Drawing.dll
    • System.Windows.Forms.dll
  3. 出力の種類を「ウィンドウアプリケーション」にする。
  4. クラスファイルを作成する。

この手順の中で特に重要なのが、参照の追加です。DirectDrawを利用するためには、プロジェクトごとに「Microsoft.DirectX」と「Microsoft.DirectX.Direct3D」それと「Microsoft.DirectX.Direct3DX」の参照を追加してあげる必要があります。

ここの手順の仕方がよく分からない場合は、.Netプロジェクトの設定に設定の仕方が載っています。

ここまで来たらソース書きです。

using System.Windows.Forms;
using System.Drawing;

namespace Project1
{
    /// <summary>
    /// md3d1 の概要の説明です。
    /// </summary>
    public class md3d1:Form
    {
        //クライアント領域のサイズ
        const int clientHeight =600;
        const int clientWight =800;

        public md3d1():base()
        {
            //最小サイズを設定
            this.MinimumSize = new Size(60,60);

            //下は任意です。

            //固定サイズのフォーム(任意、これを付けるとサイズが変わらなくなる)
            //this.FormBorderStyle = FormBorderStyle.FixedSingle;
            //サイダかボタン無し
            this.MaximizeBox = false;
            //クライアント領域サイズ
            this.ClientSize =new Size(clientWight,clientHeight);
            //ウィンドウの名前(かっこいいのを付けてあげてください)
            this.Text ="Direct3D-My";
        }
    }

    /// <summary>
    /// エントリクラス
    /// </summary>
    class Program
    {
        public static void Main()
        {
            Application.Run(new md3d1());
        }
    }
}

解説

ここでは最小サイズの設定と、その他を行っています。

最小サイズの設定は後々のエラーをなくすためです。これをしておくと、Direct3Dを行ったときに起きるエラーを減らすことが出来ます。

このコードの中で見慣れないものはクライアントサイズだと思います。このサイズは、「ウィンドウサイズ全体からメニューバーや、枠を除いた部分のサイズ」です。要するに、自由にユーザーやプログラマが自由に使える領域です。たとえば、「800*600」にビデオを再生するとします。このときウィンドウのサイズはいくらにすればいいでしょうか?そんなときに「ClientSize」を利用します。

「ウィンドウの固定サイズ化」と「最大化禁止」はコメントアウトしてありますが、必要であれば利用してください。



次はメッセージループに取りかかります。


ページの一番上へ
前のページへ 一覧に戻る 次のページへ

2006-5-13 標準でサイズ可変なのでそれに合うように書き換え


初版2006-3-7 最終更新2006-5-13
[Atelier Blue アトリエブルー]HomeプログラミングManaged DirectX3D>最小サイズのあるウィンドウ