Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

С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 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
14-3088
iFot
2003-05-13 22:23
2003.06.02
D7->D5 convert


3-2797
yuribas
2003-05-14 08:24
2003.06.02
Компоненты для Oracle


1-2952
Tornado
2003-05-21 09:08
2003.06.02
Преобразование Pchar в String


14-3128
sniknik
2003-05-14 16:29
2003.06.02
Веселая ошибка


1-2977
Mihan
2003-05-15 12:53
2003.06.02
Алгоритм умножения в столбик