Что нового

Буфер обмена с несколькими форматами данных

dimusikus

Новичок
Сообщения
7
Репутация
0
Здравствуйте.

Столкнулся с проблемой помещения в буфер обмена RTF текста с форматированием(текст с подсветкой, выделенный текст и т.д.).
Использую код:
Код:
$f=FileOpen("text.rtf", 0);16)
$buf=FileRead($f)
$ifs = _ClipBoard_RegisterFormat("Rich Text Format" );
_ClipBoard_SetData ($buf, $ifs)


Текст копируется в буфер обмена с форматированием, заходиш в WORD делаеш вставку текста, всё нормально текст вставляется с форматированием и разметкой как и положено.

Но попытка сделать вставку в каком нибудь обычном текстовом редакторе типа Блокнота то этот номер не проходит, ничего не вставляется.

Далее использую другой код:
Код:
$f=FileOpen("text.rtf", 0);16)
$buf=FileRead($f)
$oRP = ObjCreate('RICHTEXT.RichtextCtrl.1')
With $oRP
    .SelText = $Buf
    .SelStart = 0
    .SelLength = StringLen(.Text)
    ClipPut(.SelText )
 EndWith


Текст копируется в буфер обмена, Но, как обычный текст а не текст с форматированием.

Как я понимаю проблема кроется в том что в буфер обмена необходимо заносить данные в двух форматах: "Rich Text Format" и "Text" ($CF_TEXT)
но как это сделать я не приложу ума.

Я использовал комбинации:
Код:
$ifs = _ClipBoard_RegisterFormat("Rich Text Format" & #CRLF & "Text");


Код:
$ifs = _ClipBoard_RegisterFormat("Rich Text Format" );
_ClipBoard_SetData ($buf, $ifs)

_ClipBoard_SetData ($buf, $CF_TEXT)


но ничего неполучается.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Верх