Topic: Отправка электронного письма при щелчке на адрес

Добрый день!
Собственно, вопрос в заголовке.
Есть таблица. В ней есть колонка с электронным адресом.
Как получить адрес из колонки я знаю.
Допустим, я назначаю на кнопку текстовую строку с полученным адресом. Можно ли заставить программу при щелчке на кнопку отрыть новое письмо в программе по умолчанию?
По типу того, как этого сделано в эксель, когда при клике на ячейку с адресом открывается дефолтный почтовик.

Re: Отправка электронного письма при щелчке на адрес

Приветствую,


Можно без кнопки, просто при клике по ячейке с электронной почтой, допустим адрес находится во второй колонке, тогда скрипт будет таким:

procedure Form1_TableGrid1_OnCellClick (Sender: string; ACol, ARow: Integer);
var
    s: string;
begin
    s := Form1.TableGrid1.Cells[ACol,ARow];
    if ACol=1 then OpenFile('mailto:'+s);
end;
Dmitry.

Re: Отправка электронного письма при щелчке на адрес

Супер! Спасибо!

4 (edited by kunar80 2015-06-23 13:06:52)

Re: Отправка электронного письма при щелчке на адрес

DriveSoft wrote:

Можно без кнопки, просто при клике по ячейке с электронной почтой.

Добавил изменение вида курсора при наведении на адрес:

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
Form1.TableGrid1.Columns[1].Cursor := crHandPoint;  // вид курсора (второй столбец)
end;

А как к этой прелести добавить следующее:
1) цвет шрифта у электронных адресов (Columns[1]) синий, стиль: fsUnderline - подчеркнутный;

Не боги горшки лепят!

Re: Отправка электронного письма при щелчке на адрес

kunar80 wrote:

А как к этой прелести добавить следующее:
1) цвет шрифта у электронных адресов (Columns[1]) синий, стиль: fsUnderline - подчеркнутный;


в принципе так

Form1.TableGrid1.Columns[1].Font.Color := clHighlight; 
Form1.TableGrid1.Columns[1].Font.Style := fsUnderline;

но почему то не срабатывает, посмотрю в чем дело.

Dmitry.

Re: Отправка электронного письма при щелчке на адрес

DriveSoft wrote:

в принципе так

Form1.TableGrid1.Columns[1].Font.Color := clHighlight; 
Form1.TableGrid1.Columns[1].Font.Style := fsUnderline;

но почему то не срабатывает, посмотрю в чем дело.

В том-то и дело. Так я пробовал.

Не боги горшки лепят!