Форум: "WinAPI";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
ВнизСlipboard Найти похожие ветки
← →
Andrej (2003-04-04 11:24) [0]Здравствуйте. Такая проблема. Заношу данные в clipboard след.образом:
SendMessage(Edit2, EM_SetSel, 0, 6);
SendMessage(Edit2, WM_COPY, 0, 0);
Затем в clipboard копирую данные допустип из текстового редактора, но при вставке данных в Edit, заносятся данные из
1-ой записи в clipboard
В чем проблема?
Спасибо
← →
Songoku (2003-04-04 13:59) [1]Ты совершенно не правильно заносишь данные в Cilpboard!!!
Попробуй вот так!!!
function SetClipboardText(Value: string): Boolean;
var
hData: HGlobal;
pData: pointer;
Len: integer;
begin
Result:=True;
if OpenClipboard(GetActiveWindow) 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 ClipToStr:pchar;
var
hData: THandle;
s:pchar;
begin
OpenClipboard(GetActiveWindow);
hData:=GetClipboardData(CF_TEXT);
s:=GlobalLock(hData);
result:=s;
GlobalUnlock(dword(s));
CloseClipboard;
end;
SetClipboardText(Edit2.Text); это занести текст в Buffer;
////////
Edit1.Text:=ClipToStr;ВЫтощить текст из Buffer"a!!!
Если работает то напиши!!!
← →
Andrej (2003-04-04 14:26) [2]Songoku, спасибо за ответ, но не работает (т.е. в буфер строка конечно заносится)
Я из буфера данные беру не программно, а правой кнопкой мыши
Данные заносятся в буфер (при помощи твоей функции или как я написал), затем в буфер копируется еще какая-либо строка, но дело в том что предыдущая строка не исчезает и вставляется по нажатию кнопки.
← →
Songoku (2003-04-04 14:40) [3]Удалено модератором
Примечание: Личная переписка
← →
Andrej (2003-04-04 14:55) [4]Еще раз.
Строка из Edit2 в буфер заносится нормально.
Эту строку я вставляю, допустим, в Word. Там ее редактирую.
Выделяю, копирую в буфер.
Пытаюсь вставить в Edit1. Дело в том, что втавляется ее предыдущая версия (нередактированная)
Не знаю, кажется все должно быть понятно.
← →
Diamond Cat (2003-04-04 15:36) [5]у ворда буфер многофункциональный, он может держать в нем до (вроде 100) разных строк (разделов), тебе надо выяснять формат буфера что-то вроде askformat, блин не помню поищи по хелпу
← →
Songoku (2003-04-04 15:48) [6]Удалено модератором
Примечание: Offtopic
← →
Andrej (2003-04-04 15:50) [7]Тогда такой вопрос - как отловить событие вставки данных из clipboard в Edit1?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c