Добавление текста в буфер обмена без использования модуля Clipbrd

Советы » Буфер обмена » Добавление текста в буфер обмена без использования модуля Clipbrd

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Добавление текста в буфер обмена без использования модуля Clipbrd

Wnd - Handle окна, получающего доступ к буферу обмена,
может быть Application.Handle или Form.Handle
Value - текст, помещаемый в буфер обмена

Зависимости: Windows
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        22 августа 2002 г.
***************************************************** }

function

SetClipboardText(Wnd: HWND; Value: string

): Boolean; var

hData: HGlobal; pData: pointer; Len: integer; begin

Result := True; if

OpenClipboard(Wnd) then

begin

try

Len := Length(Value) + 1; hData := GlobalAlloc(GMEM_MOVEABLE or

GMEM_DDESHARE, Len); try

pData := GlobalLock(hData); try

Move(PChar(Value)^, pData^, Len); EmptyClipboard; SetClipboardData(CF_Text, hData); finally

GlobalUnlock(hData); end

; except

GlobalFree(hData); raise

end

; finally

CloseClipboard; end

; end

else

Result := False; end

;

Пример использования:

procedure

TForm1.Button1Click(Sender: TObject); begin

SetClipboardText(Handle, 'qwerty'); end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com