BitBltでFormにあわせるには?

解決


まるまる  2005-11-09 01:07:51  No: 92544  IP: [192.*.*.*]

VB6.0です。
BitBltを使ってFormの画像を撮るプログラムを作ろうと思っています。

Private Sub Command1_Click()

Picture1.Move 0, 0, _
    Screen.Width, _
    Screen.Height
BitBlt Picture1.hDC, 0, 0, _
    Screen.Width, _
    Screen.Height, _
    GetDC(0), 0, 0, vbSrcCopy
Picture1.Refresh

End Sub

と、このようにすると画面端から画像をキャプチャしてしまいます。
Form左端から画像をキャプチャするにはどうすればいいのでしょうか?

編集 削除
通ってみた  2005-11-09 02:15:13  No: 92545  IP: [192.*.*.*]

そりゃピクチャーボックスを対象にしてるわけだからFormは関係ないですわなぁ

ヒント:ALT+PrintScreenキーを押すとどうなるか

編集 削除
まるまる  2005-11-09 02:43:25  No: 92546  IP: [192.*.*.*]

通ってみたさんレスありがとうございます。
ALT+PrintScreenを押してアクティブウィンドウだけをキャプチャした時のように、Formを対象にしてキャプチャしたいのですがどうにもそのコードがわからないのです。
ご指導いただけないでしょうか。

編集 削除
通ってみた  2005-11-09 03:47:28  No: 92547  IP: [192.*.*.*]

先に逃げ発言をしておくと、やったことないので確証はないです
というのを前提に・・・SendKeyって自身に使えなかったっけ?
(使えたとしてキャプれるかどうかは不明。できなかったらスンマソ)

編集 削除
特攻隊長まるるう  2005-11-09 15:37:12  No: 92548  IP: [192.*.*.*]

BitBlt でなくても良いなら花ちゃんさんが
まんまなサンプルコードを公開されてますが。
[スナップショットを取る]
http://www.bcap.co.jp/hanafusa/VBHLP/snapshot.htm

編集 削除
まるまる  2005-11-11 03:51:11  No: 92549  IP: [192.*.*.*]

通ってみたさん、特攻隊長まるるうさんレスありがとうごいます。
「スナップショットを取る」で無事解決いたしました。
SendKeyについては後々使える事もあるとおもうので調べさせて頂きます。
本当にありがとうございました。

編集 削除