Есть ли возможность средствами Autoit вставить bmp-картинку в RichEdit из буфера обмена без предварительного сохранения картинки в файл
Из файла можно было сделать так:
Пока вот такое начало, получаю указатель на картинку, что дальше...
Из файла можно было сделать так:
Код:
#include <GuiRichEdit.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 300, 200, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($Form1, "", 7, 12, 280, 180, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
_GUICtrlRichEdit_AppendText($hRichEdit, "Текст ")
_GUICtrlRichEdit_AppendText($hRichEdit, ReadBmpToRtf(@ScriptDir&'\img.bmp'))
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func ReadBmpToRtf($sBmpFilspc)
Local $hFile, $sRtf
$hFile = FileOpen($sBmpFilspc, 16)
If FileRead($hFile, 2) <> "0x424D" Then Return SetError(1, 0, "")
FileRead($hFile, 12)
$sRtf = '{\rtf1{\pict\dibitmap ' & Hex(FileRead($hFile)) & '}}'
FileClose($hFile)
Return $sRtf
EndFunc
Пока вот такое начало, получаю указатель на картинку, что дальше...
Код:
#include <GuiRichEdit.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 300, 200, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($Form1, "", 7, 12, 280, 180, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
_ClipBoard_Open(0)
$hBitmap = _ClipBoard_GetDataEx($CF_BITMAP)
MsgBox(0,'Проверка что BITMAP',_ClipBoard_IsFormatAvailable($CF_BITMAP))
_ClipBoard_Close()
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd