• ベストアンサー

VB6でのPicutre印刷について

現在、Windows7にてクリップボードの印刷を考えています 困っている事 PictureオブジェクトからHeight,Widthを取得できない 動き (1)クリップボードをPictureオブジェクトに複写 (2)上記PictureオブジェクトからHeight,Widthを取得できない(1ページに印刷するため) ※ここでエラーになります (3)print.paintPictureにて印刷 希望→同一実行ファイルにて、Windows2000も動作できる 何かヒントをお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.2

「ここでエラーになります」どんな?具体的に書いてください。(VBがエラーメッセージを出すならその内容を省略せずに記載してください) ------------------------------------------ lngHeight = objPicture.Height←ここが取得できないプロパティがない lngWidth = objPicture.Width ------------------------------------------ PictureオブジェクトにHeight、Widthプロパティは存在します。 返される値の単位系はHiMetric(0.01 ミリメートル単位)です。 Printerオブジェクトの替わりにPictureBoxを使用して検証して見ましたが問題なく動作しました。 ただし、クリップボードに画像が存在しない場合はHeight、Widthプロパティは0を返しobjPrinter.PaintPictureメソッドはエラーとなります。

Koba5
質問者

お礼

uruzさん コメントありがとうございます 私の勘違いで、クリップボードに画像が存在しないためでした。 本当にありがとうございました。

その他の回答 (1)

  • uruz
  • ベストアンサー率49% (417/840)
回答No.1

>(2)上記PictureオブジェクトからHeight,Widthを取得できない(1ページに印刷するため) ※ここでエラーになります 質問の要点が見えません。 PictureBoxに貼り付けた画像のHeight,Widthが取得したい、ということ? 「ここでエラーになります」どんな?具体的に書いてください。 PictureBoxには貼り付けられた画像のサイズを返すプロパティやメソッドはありません。 PictureBoxのAutoSizeプロパティをTrueにセットし画像を貼り付けると貼り付けられた画像のサイズに応じてPictureBox自体のサイズが変更されますのでPictureBoxのHeight,Widthプロパティで画像のサイズを知ることができます。 真の画像のサイズを知るためには下記プロパティの設定も必要です。 Appearance=0 (フラット) BorderStyle=0 (なし)

Koba5
質問者

補足

実際のソースは、下記の雰囲気です Dim objPicture As Picture Set objPicture = Clipboard.GetData 'ピクチャーのサイズ lngHeight = objPicture.Height←ここが取得できないプロパティがない lngWidth = objPicture.Width '途中省略 ' ピクチャー印刷 objPrinter.PaintPicture objPicture, lngYLeft, lngYTop, lngWidth, lngHeight

関連するQ&A