
No.5ベストアンサー
- 回答日時:
ループの中の
.Picture3.Picture = LoadPicture(wkAry(i))
に続いて
.Picture3.Line (50, 50)-(2400, 150), , BF
ですよね?
問題ないままに動いております。
こちらではエラーが出ておりません。
Command1_Clickイベントを張っておきます。
-----------------------------------------------------
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 wkAry As Variant
Dim i As Long
Dim lngCntPic As Long
'絵の情報
wkAry = Array( _
"C:\windows\しゃくなげ.bmp" _
, "C:\windows\グリーン ストーン.bmp" _
, "C:\windows\サポテック織り.bmp" _
, "C:\windows\サンタフェ.bmp" _
, "C:\windows\シャボン.bmp" _
)
'ピクチャの数
lngCntPic = UBound(wkAry) + 1
'スクロールピクチャの高さ取得
lngScrollPicH = (lngCntPic + 1) * lngPicH
With Me
.Command1.Enabled = False
.Command2.Enabled = True
With .Picture1
.Visible = True
End With
With .Picture2
.Visible = True
.Width = lngPicW
.Height = lngScrollPicH
.Left = 0
.Top = lngPicH - lngScrollPicH
End With
For i = 0 To lngCntPic - 1
.Picture3.Picture = LoadPicture(wkAry(i))
.Picture3.Line (50, 50)-(2400, 150), , BF
'イメージを取得したいので、ペイントピクチャは使用しない
'Call .Picture2.PaintPicture(.Picture3.Picture, 0, (lngCntPic - i) * lngPicH, lngPicW, lngPicH, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
'イメージを取得したいので、ストレッチぶりっとを使用する
Call StretchBlt(.Picture2.hdc, 0, (lngCntPic - i) * lngPicH, lngPicW, lngPicH, Picture3.hdc, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
If i = 0 Then
'Call .Picture2.PaintPicture(.Picture3.Picture, 0, 0, lngPicW, lngPicH, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
Call StretchBlt(.Picture2.hdc, 0, 0, lngPicW, lngPicH, Picture3.hdc, 0, 0, .Picture3.ScaleWidth, .Picture3.ScaleHeight, vbSrcCopy)
End If
Next i
End With
End Sub
この回答への補足
何度も回答ありがとうございますm(__)m
'.Picture3.Picture = LoadPicture(wkAry(i))
上記文はコメント(')にしています。
No.4
- 回答日時:
文章だけでは、どのようにやって、なぜ実現できていないかがわかりません。
コードの抜粋を公開してみてください。
この回答への補足
先ほど教えていただいたサンプルソース
http://okweb.jp/kotaeru.php3?q=167464の
この一行を変えただけです。
'.Picture3.Picture = LoadPicture(wkAry(i))
.Picture3.Line (50, 50)-(2400, 150), , BF
「ピクチャが不正です」とエラーが発生します。
No.3
- 回答日時:
すいません。
#1の後者の方では実験していませんが、前者の方で、保存できちゃいましたよー
私はWinXPなので、初期設定のビットマップ群のパスを
C:\Winnt⇒C:\Windows
に変更して、コマンドボタン3を追加し、
SavePicture Picture2.Image, "c:\aaa.bmp"
としただけです。
後者の流用でできないのは、AutoRedrawのプロパティが違うのでは?
回答ありがとうございました。
ピクチャ2(子)に画像を取り込むとうまくいきましたが
ピクチャ2(子)にLineで線を描きそれを
ピクチャ1(親)にペイントしようとするとエラーで
戻ってきます。
ピクチャ2(子)の属性(?)をピクチャ1(親)に渡すにはやはり別の方法でないとだめなのでしょうか?
No.2
- 回答日時:
すんません。
日中はVB6がない場所に来ているので、実例でのアドバイスは困難ですー
ExcelVBAではPictureBoxが無いので、擬似的に答えることもできませんですー
帰宅後にサンプルをアップしますねー
No.1
- 回答日時:
Picture親の中に
Picture子1
Picture子2
・・・
Picture子n
があり、Picture親.SvaePictureで子のピクチャを含めて保存したいということですよね?
Picture親の中の子達は、親のサイズ内に全て表示されていますか?
※親の枠をはみ出た位置に配置された子が存在しているのであれば、親に直接描画するしかないと思います。
http://okweb.jp/kotaeru.php3?q=167464
のようにPicture2のサイズを広げ、複数の画像をPicture2に転送して保存する方法が考えられます。
※親の枠をはみ出た位置に配置された子が存在していないのであれば、そのPicure親のイメージを、他のピクチャボックスに転送して、保存したらいいと思います。
http://www.geocities.jp/h_sakusaku/
の「VBサンプル」の「8.画面のスナップ」
この回答への補足
>Picture親の中に
>Picture子1
>Picture子2
>・・・
>Picture子n
>があり、Picture親.SvaePictureで子のピクチャを含め>て保存したいということですよね?
そうです。
Picture親の中の子達は、親のサイズ内に全て表示されています。
後者のサンプルを使ってやったのですが
出来ませんでした。(泣)
新たにピクチャボックス(Picture親2)を用意し
StretchBlt()APIを使って
Picture親の内容をPicture親2にコピーし
SavePicture .Picture親2.Image, strSaveFileName
で保存してみたのですが
やっぱりPicture子nがコピーされずにPicture親の画像のみが保存されました。
どこが悪いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一次元静電粒子コードについて...
-
maximaについて
-
ピクチャボックスの使用方法
-
レコードセットにnullの場合
-
VBAでcallで呼び出したsubを終...
-
定数を構造体で・・・
-
テキストボックスかラベル上の...
-
VBAで入力数値について
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
ACCESS 除算での小数点切上げ方法
-
subsequentとnextの違いってな...
-
VC++ (byte)(col & 0xFF) の意味
-
VBAのフォーム カーソル移動
-
ClickとChangeイベントの違いは...
-
C#のループでtextboxに値を入れ...
-
C#で複数のTextboxから検索して...
-
comboboxのクリックイベントに...
-
画面の繰り返し機能について
-
VB.NETでのイベントの途中終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6でマウスのドラッグで範囲を...
-
SavePictureで保存できない
-
RadioButtonについて
-
ピッ、ってアルファベットでど...
-
円の自転のさせ方
-
Matlabでsin波を使って矩形波を...
-
ボールが壁に当たって跳ね返る...
-
画像の90度回転表示の処理時間...
-
クリップボードにアクティブウ...
-
Picture box の サイズを変更
-
画像をランダムに表示させたい...
-
Matlab/SimulinkのChirp信号に...
-
if文で・・
-
ピクチャーボックスの画像を印...
-
SCALEの使い方教えてください
-
もぐらたたきのプログラミング
-
消す軌跡と残す軌跡
-
PictureBoxでのアニメーション...
-
(VB)ピクチャボックスに表示し...
-
数値が1の時は1で、他の数値は...
おすすめ情報