Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2012, 13:16   #1
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
Лампочка Сделать ссылку с возможностью выделения

Здравствуйте

нужно сделать ссылку на сайт, которую можно было бы выделить и скопировать. понятно, что label в этом случае не подойдет, а если взять Edit, то выделять можно, но после отпускания лкм все-равно произойдет переход по ссылке (onClick).
может быть есть подходящий компонент?
fezilk25 вне форума Ответить с цитированием
Старый 07.01.2012, 13:48   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

может лучше использовать тот же Label с PopupMenu с пунктом "Скопировать в буфер"? тоже логично смотрится, и выделять не нужно, щелкнул и скопировал.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 07.01.2012, 14:25   #3
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Может LinkLabel? Если у вас конечно новая среда разработки
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 07.01.2012, 15:55   #4
fezilk25
Форумчанин
 
Регистрация: 01.08.2010
Сообщений: 124
По умолчанию

Сделал обычный label, клик - переход, Ctrl+клик - копировать в буфер.
вдруг кому-нибудь понадобится:
Код:
function CtrlDown : Boolean;
var
  State : TKeyboardState;
begin
  GetKeyboardState(State);
  Result := ((State[vk_Control] and 128) <> 0);
end;

procedure TForm1.l240Click(Sender: TObject);  //label onclick
begin
  if CtrlDown then
    Clipboard.SetTextBuf(PChar(l240.Caption))
  else
    ShellExecute(0,'Open',Pchar(l240.Caption),nil,nil,SW_SHOW);
end;
fezilk25 вне форума Ответить с цитированием
Старый 07.01.2012, 16:00   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я бы на вашем месте использовал OnMouseUp там больше возможностей развернуться.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.01.2012, 16:13   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
procedure TForm1.Edit1Click(Sender: TObject);
begin
  if (Edit1.SelText='') and (Trim(Edit1.Text)<>'') 
    then <переход по ссылке>;
end;
ADD

А вообще для перехода по ссылке лучше OnDblClick
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 07.01.2012 в 18:05.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать ссылку в JOOMLA julliz WordPress и другие CMS 2 29.12.2011 18:35
Как сделать ссылку динамичной? Aleskandr HTML и CSS 1 26.06.2011 11:04
как сделать правильную ссылку? usolka Помощь студентам 5 03.11.2010 00:06
Как сделать ссылку на модуль? namburol Общие вопросы Delphi 1 07.07.2010 16:13
Help!!! Как в Delphi сделать ссылку на видео? Vredinka Помощь студентам 1 05.03.2008 13:34