Как изменить текст в буфере обмена, не изменяя формат информации? - PullRequest
1 голос
/ 19 июля 2009

Еще один вопрос из буфера обмена:

Когда текст помещается в буфер обмена, он часто выполняется несколькими способами, обычно с форматированием и без него. Что я хочу знать, так это то, как вы можете изменить текст в буфере обмена без изменения форматирования. Другими словами, я хочу изменить текстовую сторону вещей, но сохранить форматирование точно таким же.

Это снова для моего приложения "TextScrubber", где я хочу удалить разрывы строк из текста в буфере обмена, но я не хочу изменять информацию о формате этого текста.

Я надеюсь, что мне не придется "грубо насиловать" его, перебирая все имеющиеся форматы, сохраняя каждый, а затем вставляя их заново после очистки текста.

Ответы [ 3 ]

7 голосов
/ 19 июля 2009

Я думаю, что «грубая сила» - это именно то, что вам нужно сделать - в соответствии с MSDN Win32 API другого способа сделать нельзя.

3 голосов
/ 20 июля 2009

Да, Ник. Я думаю, что в этом случае вы застрянете с предложенным решением. Буфер обмена - это одна из областей, которой на протяжении многих лет не уделялось особого внимания в отделе улучшений. Вероятно, это потому, что он должен быть простым, вездесущим и функциональным.

0 голосов
/ 19 июля 2009

Почему бы просто не загрузить из буфера обмена, не изменить текст и не записать обратно в буфер обмена?

Может быть, что-то простое, как буфер обмена TBin Сергея Ткаченко: http://delphi32.org/vcl/2889/

Ответ Эрика Розенбергера на « Невозможно использовать двусторонний формат html в буфер обмена » также может быть полезен.

...