No.1ベストアンサー
- 回答日時:
クリップボードに渡す前に、ピクチャボックスを利用すると簡単です。
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc 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 nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Sub Command1_Click()
Dim picWk As PictureBox
Dim bytScale As Byte
Dim blnRedraw As Boolean
'フォームのスケールを一時記憶
bytScale = Me.ScaleMode
'AutoRedrawを一時記憶
blnRedraw = Me.AutoRedraw
'フォームのスケールをピクセルにセット
Me.ScaleMode = vbPixels
'AutoRedrawをFalseにセット
Me.AutoRedraw = blnRedraw
'ピクチャボックスを作る
Set picWk = Me.Controls.Add("VB.PictureBox", "picDmy")
With picWk
'初期設定
.ScaleMode = vbPixels
.Move 0, 0, Frame1.Width, Frame1.Height
.Cls
.AutoRedraw = True
'絵を張る
Call StretchBlt(.hdc, 0, 0, picWk.Width, picWk.Height, Me.hdc, Frame1.Left, Frame1.Top, Frame1.Width, Frame1.Height, vbSrcCopy)
End With
'クリップボードにセット
Clipboard.Clear
Clipboard.SetData picWk.Image
'ピクチャボックスを破棄
Me.Controls.Remove picWk
Set picWk = Nothing
'フォームを元の状態に戻す
Me.ScaleMode = bytScale
Me.AutoRedraw = blnRedraw
'適当な色つけ
Call Form_Load
End Sub
Private Sub Form_Load()
Me.Frame1.BackColor = RGB(Int(&HFF * Rnd), Int(&HFF * Rnd), Int(&HFF * Rnd))
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
Access 無操作の場合、自動で閉...
-
VBAにてメッセージボックスを最...
-
ユーザーフォーム上にアイコン...
-
VBプログラムの終了
-
ExcelVBAでフォーム内でブック...
-
サブフォームのイベント取得
-
Accessでフォームから別フォー...
-
リストボックスの選択解除
-
csvに保存しているデータをURL...
-
ACCESS フォーム、クエリの最前...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
アクセス フォームが存在する...
-
VB.net(VB)で、フォームにExcel...
-
ディスプレイ解像度より大きな...
-
ASP.NETとC#でWebフォームを呼...
-
VB.NET 親フォームから子フォー...
-
DelphiでDLLを作成しているので...
-
VBのEXEファイルのサイズを小さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
Access 無操作の場合、自動で閉...
-
アクセスVBA フォームのス...
-
サブフォームの新規レコードに...
-
リストボックスの選択解除
-
PDFフォームに本日の日付を自動...
-
ユーザーフォーム上にアイコン...
-
サブフォームの行ごとにコンボ...
-
サブフォームのイベント取得
-
VBプログラムの終了
-
ToolStripStatusLabelを固定し...
-
accessで2つ以上のフォームを起...
-
フォーム上の全てのコントロー...
-
ExcelVBAでフォーム内でブック...
-
VB.net(VB)で、フォームにExcel...
-
Accessでフォームから別フォー...
-
メッセージボックスの背景色
-
リストボックスをクリックする...
-
Access サブフォームでの複数行...
おすすめ情報