Как добавить столбец гиперссылки в TcxGrid (экспресс-сетка разработчика) - PullRequest
1 голос
/ 23 апреля 2010

Привет В Delphi мне удалось (!) Добавить столбец в табличное представление TcxGrid, которое отображается в виде гиперссылки (вместо простой строки). Для этого вы просто редактируете «свойства» столбца и выбираете «гиперссылку». Теперь в ячейке отображается стиль гиперссылки (подчеркнут), но я не могу на всю жизнь узнать, как:

  1. Получить курсор, чтобы перейти на «руку», когда над ссылкой.
  2. Добавить событие, которое запускается при нажатии на ссылку.

Кто-нибудь может помочь? Спасибо.

Ответы [ 2 ]

1 голос
/ 23 апреля 2010

После того, как вы установили свойства в Hyperlink, вы можете расширить свойства. Установите для свойства SiongleClick значение True для активации одним щелчком мыши.

Поменять курсор сложнее. Вам нужно будет отреагировать на событие перемещения мыши и определить, находится ли мышь над столбцом гиперссылки. С сайта DevExpress :

procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  Ht: TcxCustomGridHitTest;
begin
  Ht := TcxGridSite(Sender).GridView.Viewinfo.GetHitTest(X,Y);
  If (Ht is TcxGridRecordCellHitTest) and
   (TcxGridRecordCellHitTest(Ht).Item.Properties is TcxHyperLinkEditProperties) then
    Screen.Cursor := crHandPoint
  else
    Screen.Cursor := crDefault;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Screen.Cursor <> crDefault then
     Screen.Cursor := crDefault;
end;
0 голосов
/ 23 апреля 2010

Щелкните заголовок столбца, столбец выделен.

Перейти к «События»

Свойства - OnStartClick -> это событие вызывается при нажатии на ссылку

В моей системе delphi 7 с установленным последним dev.express курсор изменяется на руку при наличии URL-адреса.

Я заархивировал образец программы и исполняемый файл Dephi 7, чтобы вы смогли увидеть весь проект самостоятельно (загрузка с моего собственного сайта www.edelcom.com)

  • запустить exec
  • нажмите кнопку вставки внизу
  • введите URL: www.google.com
  • нажмите ввод
  • переместиться по ссылке - рука появляется и, щелкая по ссылке, показывает сообщение «нажал», если у вас нет события щелчка, запускается URL-адрес, по которому щелкнули (возможно, он тоже может это сделать, но я не не пробовал это)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...