![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Clipbrd [D7, WinXP]
NLO © (2004-08-12 21:30:00)Приветстую всех мастеров програминга на DELPHI!!!!!
У меня возникли такие вопросы как с можнощабросить в буфер текст или файл на WinApi...
Jetus (2004-08-14 02:29:00) [1]Можно! Причем на чистом АПИ! Бери:
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;
function GetClipboardText(Wnd: HWND): WideString;
var
Data: THandle;
begin
Result := '';
if OpenClipboard(Wnd) then begin
Data := GetClipboardData(CF_UNICODETEXT);
try
if Data <> 0 then
Result := PWideChar(GlobalLock(Data))
else
Result := '';
finally
if Data <> 0 then
GlobalUnlock(Data);
CloseClipboard;
end;
end;
end;
Алхимик (2004-08-12 23:19:00) [2]http://www.delphisyte.ru/Articles/base/api_copy_to_clipboard.html