さめがめをつくる(おまけとダウンロード)

一番初めに紹介しましたさめがめは画像を使用しています。これまで作成したプログラムでは、整数を画像代わりに使用してきましたが、この数字を画像に置き換えることは簡単に出来ます。OnDrawCell に次のようにコードを書いてください。

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Bmp: TBitmap;
  Num, Idx: Integer;
begin
  Bmp := nil;
  Idx := セルのインデックス
  Num := FCells[Idx].Num;

  case Num of
     0: Bmp := 適当な画像
     1: Bmp := 適当な画像
     2: Bmp := 適当な画像
  end;

  StringGrid1.Canvas.Draw(Rect.Left, Rect.Top, Bmp);
end;

画像の種類を増やしたい場合は、TCell の Num プロパティの値を適宜変更して下さい。再描画するには StringGrid1.Repaint を実行します。

また、セル全体のサイズを変更するには、MAX_COL_COUNT と MAX_ROW_COUNT の値を変更し、それに応じて TStringGrid の RowCount, ColCount をそれぞれ変更します。

画像を用いて作成したさめがめのソースも以下のダウンロードに含まれています。

ダウンロード

その2 から その4 までで作成した全てのプロジェクトのソースと、その1 で紹介したさめがめのプロジェクトソースです。

samesrc.lzh (13.0 KB)

画像のEXE埋め込みは、Halbow さんの EXE に埋め込む - リソースの使い方 を参照しました。Halbow さんに感謝いたします。


up
Last update: 2004/3/8