Главная страница
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.02 c
14-3151
Mike_Goblin
2003-05-15 10:01
2003.06.02
18 апреля умер Эдгар Кодд


3-2779
Ann
2003-05-13 10:31
2003.06.02
ComboBox


3-2762
saff
2003-05-13 11:40
2003.06.02
SQL


3-2748
novill
2003-05-13 10:40
2003.06.02
Как получить групповую сортировку в таблице?


14-3109
Style
2003-05-14 11:34
2003.06.02
Delphi Challenge - Народ добавил раздел конкурсы и раздел ссылки