嗨在德爾福我已經管理(!)將列添加到TcxGrid表視圖顯示爲超鏈接(而不是簡單的字符串)。爲此,只需編輯列的「屬性」並選擇「超鏈接」即可。該單元現在顯示超鏈接樣式(帶下劃線),但我爲我的生活看到如何:如何添加超鏈接列到TcxGrid(開發人員快速網格)
- 獲取光標以在鏈接上更改爲「手形」。
- 添加一個點擊鏈接時觸發的事件。
任何人都可以幫忙嗎? 謝謝。
嗨在德爾福我已經管理(!)將列添加到TcxGrid表視圖顯示爲超鏈接(而不是簡單的字符串)。爲此,只需編輯列的「屬性」並選擇「超鏈接」即可。該單元現在顯示超鏈接樣式(帶下劃線),但我爲我的生活看到如何:如何添加超鏈接列到TcxGrid(開發人員快速網格)
任何人都可以幫忙嗎? 謝謝。
單擊列標題,選擇該列。
轉到「活動」
屬性 - OnStartClick
- 當你點擊一個鏈接
在我安裝了最新的dev.express德爾福7系統>此事件被觸發,光標變爲手形時一個網址存在。
I zipped my Dephi 7 sample program and executable so you see the complete project your self
將屬性設置爲超鏈接後,可以展開屬性。只需單擊一下即可將SiongleClick屬性設置爲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;
Dev.Express應該在他們的組件中構建它。特別是對於一個超鏈接(儘管在我的測試項目中有一個正常的非分表,手會自動出現(我認爲你需要包括http:,雖然)。 – Edelcom 2010-04-27 07:39:02
@Edelcom:THanks的提示,但我仍在掙扎。我沒有得到手,我沒有得到OnStartClick事件發射。我已將文本字符串預設爲www.something.com,但雖然顯示,但它不是「熱」。你有沒有鼠標事件來獲得手?你能告訴我你有什麼屬性嗎? – 2010-04-23 14:29:28
@brian霜:我更新了我的答案,包括一個鏈接到我試過的非常小的項目。它在Delphi 7中。 – Edelcom 2010-04-24 06:05:55
謝謝你的作品。儘管有內置的超鏈接活動會很好。 – 2010-04-26 12:04:38