【发布时间】:2010-04-23 06:18:34
【问题描述】:
嗨,在 Delphi 中,我已经管理 (!) 将列添加到 TcxGrid 表视图中,该列显示为超链接(而不是简单的字符串)。为此,您只需编辑列的“属性”并选择“超链接”。该单元格现在显示超链接样式(带下划线),但我无法终生了解如何:
- 在链接上时让光标变为“手”。
- 添加一个在我单击链接时触发的事件。
有人可以帮忙吗? 谢谢。
【问题讨论】:
标签: delphi devexpress tcxgrid
嗨,在 Delphi 中,我已经管理 (!) 将列添加到 TcxGrid 表视图中,该列显示为超链接(而不是简单的字符串)。为此,您只需编辑列的“属性”并选择“超链接”。该单元格现在显示超链接样式(带下划线),但我无法终生了解如何:
有人可以帮忙吗? 谢谢。
【问题讨论】:
标签: delphi devexpress tcxgrid
将属性设置为超链接后,您可以展开属性。将 SingleClick 属性设置为 True 即可一键激活。
改变光标比较困难。您必须对 mousemove 事件做出反应并确定鼠标是否悬停在超链接列上。来自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;
【讨论】:
点击列标题,该列被选中。
转到“事件”
Properties - OnStartClick -> 当你点击一个 url 时触发这个事件
在我安装了最新的 dev.express 的 delphi 7 系统上,当存在 url 时,光标变为手形。
I zipped my Dephi 7 sample program and executable so you see the complete project your self(从我自己的网站www.edelcom.com下载)
【讨论】: