BitBltでFormにあわせるには?

解決


まるまる  2005-11-09 10:07:51  No: 92544

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 11:15:13  No: 92545

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

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


まるまる  2005-11-09 11:43:25  No: 92546

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


通ってみた  2005-11-09 12:47:28  No: 92547

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


特攻隊長まるるう  2005-11-10 00:37:12  No: 92548

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


まるまる  2005-11-11 12:51:11  No: 92549

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加