Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.009 c
3-2750
phisy1
2003-05-13 14:41
2003.06.02
Фиксированный dbgrid


14-3047
DDDeN
2003-05-13 13:51
2003.06.02
DelphiX для Delphi 6


14-3069
Reindeer Moss Eater
2003-05-12 18:38
2003.06.02
Американские и Советские авто


4-3214
Axis_of_Evil
2003-04-02 10:10
2003.06.02
GetWindowInfo?


3-2800
Tomkat
2003-05-14 19:31
2003.06.02
Обработка исключений





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский