フォームの背景で画像を繰り返して表示したいのですが・・・。
イメージとしてはHTMLのようにしたいんです。
タグで言うとこんな感じ。
<body background="画像">
私の書いたコードは
標準モジュールに
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Form_Load()に
For y = 0 To 10
For x = 0 To 10
Call BitBlt(Form.hDC, x * SizeX, y * SizeY, SizeX, SizeY, PicM.hDC, 0, 0, vbSrcAnd)
Call BitBlt(Form.hDC, x * SizeX, y * SizeY, SizeX, SizeY, Pic.hDC, 0, 0, vbSrcPaint)
Next x
Next y
SizeX、SizeYには画像のサイズが入っています。
画像のサイズはWidthとHeightで取得
PicMはピクチャーボックスで背景が黒に設定してあります。
PicはLoadPictureで読み込んだ画像が入っています。
Form.hDCはForm1.HDCですか?
Refreshされてるのかな。
Form_Loadに書かないで Form_Paint()に書けば
良いんじゃない。
デスクトップのタイル状に並べて表示と同じ状態にフォームでしたいと
解釈してよいのでしょうか?
それなら、CreatePatternBrush でブラシを作成して、PatBlt API関数で
塗りつぶせばできます。
上記API関数をキーワードに検索すれば、サンプルも見つかるかと思います。
>デスクトップのタイル状に並べて表示と同じ状態にフォームでしたいと
>解釈してよいのでしょうか?
はい。そういうことです。
花ちゃんさん。サンプルがなかなか見つかりません。
どこか紹介していただけませんか?
本当に探しましたか? 下記で一番最初にヒットしましたよ。
#PS 私は貴方の検索係ではありません。検索位はご自分でして下さい。
ツイート | ![]() |