Главная страница
    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.008 c
3-2794
moore
2003-05-14 15:17
2003.06.02
пример БД


4-3221
Psibug
2003-04-01 10:07
2003.06.02
Почему не работает (работает по разному) Sleep


8-3018
Stam
2003-02-17 12:01
2003.06.02
Как перекодировать Audio CD в MP3?


1-2956
AFrolov
2003-05-20 18:09
2003.06.02
Как сделать главную форму приложения невидимой


4-3224
DDS
2003-04-02 20:49
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский