Добрый день, подскажите пожалуйста, как копировать в буфер обмена рисунок usercontrol, если поверх него другие окна или статус рисунка равен usercontrol.visible = False? Приведенный код выбран из USERCONTROL с дескриптором hDC:
Код | Public Sub CopyImage() Dim w As Long, h As Long
On Error GoTo ErrorHandler With picBuff .Cls w = ScaleWidth h = ScaleHeight ' Событие для извлечения пользовательской области данных для копирования графика RaiseEvent CopyImage(w, h) .Width = w .Height = h .AutoRedraw = True ' График выводится на экран и в изображение, хранящееся в памяти ' Копируем данные в точечный рисунок If BitBlt(.hDC, 0, 0, w, h, hDC, 0, 0, vbSrcCopy) = ERROR_SUCCESS Then Err.Raise vbObjectError + 1, App.EXEName & "\CopyImage", "Скопировать график не удалось " & GetLastError & ")" End If .Refresh End With Clipboard.Clear Clipboard.SetData picBuff.Image, vbCFBitmap Exit Sub ErrorHandler: Err.Raise Err.Number, App.EXEName & "\CopyImage", Err.Description End Sub
|
Большое спасибо. |