一番初めに紹介しましたさめがめは画像を使用しています。これまで作成したプログラムでは、整数を画像代わりに使用してきましたが、この数字を画像に置き換えることは簡単に出来ます。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