★★★简单问题送100分★★★:如何打印框架容器里的的全部内容,包括mschart图表,label,combox等?

deak 2001-06-23 11:24:00
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fucool 2001-07-16
  • 打赏
  • 举报
回复
你的ClipBoard 把窗口上的内容也打进了
打印图像 (PaintPicture)
不行
deak 2001-06-28
  • 打赏
  • 举报
回复
add
playyuer 2001-06-26
  • 打赏
  • 举报
回复
在 Frame 里放一个等大的 PictureBox,利用 ClipBoard 打印图像 (PaintPicture)
Option Explicit

Private Const HORZRES = 8 ' Horizontal width in pixels
Private Const VERTRES = 10 ' Vertical width in pixels
Private Const CF_BITMAP = 2
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC 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 dwRop As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

Private Sub Command1_Click()
Dim hScrDC As Long
hScrDC = GetDC(Picture1.hwnd)

Dim hMemDC As Long
hMemDC = CreateCompatibleDC(hScrDC)

Dim xScrn As Integer
Dim yScrn As Integer
Picture1.ScaleMode = vbPixels
xScrn = Picture1.ScaleWidth '+ 200
yScrn = Picture1.ScaleHeight '+ 200
Dim hBitmap As Long
hBitmap = CreateCompatibleBitmap(hScrDC, xScrn, yScrn)
Dim hOldmap As Long
hOldmap = SelectObject(hMemDC, hBitmap)
BitBlt hMemDC, 0, 0, xScrn, yScrn, hScrDC, 0, 0, SRCCOPY
hBitmap = SelectObject(hMemDC, hOldmap)
DeleteDC hScrDC
DeleteDC hMemDC
OpenClipboard hwnd
EmptyClipboard
SetClipboardData CF_BITMAP, hBitmap
CloseClipboard
Dim pictureX As Picture
Set pictureX = Clipboard.GetData()
Printer.Print " "
Printer.PaintPicture pictureX, 0, 0
Printer.EndDoc
End Sub
deak 2001-06-26
  • 打赏
  • 举报
回复
who knows?
deak 2001-06-26
  • 打赏
  • 举报
回复
test?
jaguarcts 2001-06-23
  • 打赏
  • 举报
回复
用窗口的PRING方法。
在窗口的按鈕:
form1.print
deak 2001-06-23
  • 打赏
  • 举报
回复
to jaguarcts:用printform方法是打印窗体,我要求的是打印框架容器里的的全部内容

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧