模擬網頁超連結行為:滑鼠移入 Label 時字體變粗體+底線、顏色變黃;移出時恢復原狀;游標變為手型;點擊可啟動郵件用戶端或開啟網頁。
Label1,設定 Cursor := crHandPoint。OnMouseMove 事件處理懸停/移出樣式切換。OnClick 事件呼叫 ShellExecute 開啟郵件或網址。procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
// 滑鼠進入:加粗、底線、黃色
Label1.Font.Style := [fsBold, fsUnderline];
Label1.Font.Color := clYellow;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
// 滑鼠離開 Label 回到表單:恢復粗體、栗色
Label1.Font.Style := [fsBold];
Label1.Font.Color := clMaroon;
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
// 點擊開啟郵件用戶端(mailto: 協定)
ShellExecute(Handle, nil, 'mailto:guihong@163.net', nil, nil, SW_SHOWNORMAL);
// 若要開啟網頁,改為:ShellExecute(Handle, nil, 'https://www.example.com', nil, nil, SW_SHOWNORMAL);
end;
OnMouseMove 偵測滑鼠是否離開 Label 區域,以此觸發「移出」效果。crHandPoint 游標讓使用者直觀感知可點擊。ShellExecute 支援 mailto:、http:、https: 等協定,自動啟動預設處理程式。