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左端から画像をキャプチャするにはどうすればいいのでしょうか?
そりゃピクチャーボックスを対象にしてるわけだからFormは関係ないですわなぁ
ヒント:ALT+PrintScreenキーを押すとどうなるか
通ってみたさんレスありがとうございます。
ALT+PrintScreenを押してアクティブウィンドウだけをキャプチャした時のように、Formを対象にしてキャプチャしたいのですがどうにもそのコードがわからないのです。
ご指導いただけないでしょうか。
先に逃げ発言をしておくと、やったことないので確証はないです
というのを前提に・・・SendKeyって自身に使えなかったっけ?
(使えたとしてキャプれるかどうかは不明。できなかったらスンマソ)
BitBlt でなくても良いなら花ちゃんさんが
まんまなサンプルコードを公開されてますが。
[スナップショットを取る]
http://www.bcap.co.jp/hanafusa/VBHLP/snapshot.htm
通ってみたさん、特攻隊長まるるうさんレスありがとうごいます。
「スナップショットを取る」で無事解決いたしました。
SendKeyについては後々使える事もあるとおもうので調べさせて頂きます。
本当にありがとうございました。
ツイート | ![]() |