![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из clipboarda достать html ссылку?
Serg455 © (2002-09-18 23:59:00)Те если копируешь ярлык в клипбоард, то чтобы при нажатии допустим кнопки от отображался в edit1, (если является инетовской ссылкой)
McSimm (2002-09-20 10:41:00) [1]Скорее всего форма создается один раз.
А закрытие/открытие - это hide/show.
В зависимости от задачи можно пойти несколькими путями.
1. Вызывать процедуру всякий раз, когда это требуется;
(например при показе формы)
2. Встроиться в цепочку clipboard viewer и реагировать на изменения в клипбоард.
Serg455 (2002-09-20 02:24:00) [2]Все работает, но только один раз.Операция выполняется при создании формы, а после того как форма закрывается и вновь запускается edit1 пустой:( и что бы не было в клипборде, edit
всегда будет пустым при появлении формы) Как исправить?
McSimm (2002-09-19 14:54:00) [3]Насколько я понимаю - нет.
HasFormat применим к стандартным форматам (CF_BITMAP и т.п.)
Форматы, числовое значение которых лежит в диапазоне 0xC000-0xFFFF регистрируются приложениями функцией RegisterClipboardFormat. Их числовое значение заранее неизвестно.
REA (2002-09-19 14:42:00) [4]А HasFormat не получится вызвать?
McSimm (2002-09-19 14:19:00) [5]Возможно, так:
uses Clipbrd, ShlObj;
procedure TForm1.Button1Click(Sender: TObject);
var
I, L: Integer;
S: String;
begin
for I := 0 to Clipboard.FormatCount - 1 do
begin
SetLength(S, Length(CFSTR_SHELLURL)+1);
L := GetClipboardFormatName(Clipboard.Formats[I], PChar(S), Length(CFSTR_SHELLURL)+1);
SetLength(S, L);
if S = CFSTR_SHELLURL then
begin
Edit1.Text := Clipboard.AsText;
Break
end
end
end;