Вниз
Скачать: CL | DM;

Email в гриде.   Найти похожие ветки 

← →
Kyt   (2002-07-11 10:59) [0]

Господа, подскажите, пожалуйста, как грамотнее организовать следующее. В колонке грида(среди прочего) может находиться email.
Как грамотно его подчеркнуть(подсветить) и открыть OutLook.
Заранее спасибо.


← →
Skier ©   (2002-07-11 11:15) [1]

>Kyt


> Как грамотно его подчеркнуть(подсветить)


Нужно написать обработчик OnDrawCell


← →
Skier ©   (2002-07-11 11:29) [2]

>Kyt

);
> и открыть OutLook.



Можно так :



uses ShellAPI;

procedure TForm1.Button1Click(Sender: TObject);
var
FUrl : String;
begin
FUrl := "mailto:adress@mail.ru";
ShellExecute(GetDesktopWindow(), "Open", PChar(Trim(FUrl)),
nil, nil, SW_SHOWNORMAL);
end;


← →
still ©   (2002-07-11 11:38) [3]

Если ты знаешь, в какой колонке находится e-mail, причем кроме адреса в ячейке ничего нет, то обрабатывай OnMouseMove, переводи координаты мыши в номер ячейки и меняй шрифт в OnDrawCell.
Если в ячейке может находится еще что-то, то тут сложнее (думать надо).
Outlook запустить можно API-функцией ShellExecute
ShellExecute(0, Pchar("open"), Pchar("mailto:aaa@aaa.ru"), nil, nil, SW_MAXIMIZE);
Запустится почтовая программа по умолчанию.


← →
Kyt   (2002-07-11 14:11) [4]

Спасибо за ответы. Остались у меня проблемы. Как перевести координаты мыши в номер ячейки??

Я на событие DrawColumnCell пытаюсь менять цвет, но меняетс цвет всей строки. Как достучаться до цвета ячейки?


← →
Skier ©   (2002-07-11 14:14) [5]

>Kyt
А кстати, грид-то какой ? Какой класс ???


← →
Kyt   (2002-07-11 14:17) [6]

TCustomGrid


← →
Skier ©   (2002-07-11 14:30) [7]

>Kyt

TCustomGrid.DrawCell - абстрактный метод !

тебе нужно убрать слово abstract и
написать реализацию метода


> Как перевести координаты мыши в номер ячейки??


Зачем ?


← →
Kyt   (2002-07-11 14:44) [8]

Имею событие:
MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
Как определить нахожусь над нужной ячейкой или нет?


← →
Skier ©   (2002-07-11 14:51) [9]

>Kyt
Если ты "ковыряешь" TCustomGrid, то смотри TCustomGrid.MouseMove
Там есть такой код :

var
CellHit: TGridCoord;
..........
CalcDrawInfo(DrawInfo);
..........
CellHit := CalcCoordFromPoint(X, Y, DrawInfo);

А далее смотришь CellHit.X и CellHit.Y




← →
Kyt   (2002-07-11 15:29) [10]

SOS!!

procedure gEmployerMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
coord: TGridCoord;
begin
coord := gEmployer.MouseCoord(X, Y);
if gEmployer.Columnscoord.x].Field.Name "qEmployerEMail"
then Cursor := crHandPoint;
end;

Как достучаться до цвета фонта? До ID записи на которой стоим?

С уважениемм!


← →
Skier ©   (2002-07-11 16:05) [11]

>Kyt


> Как достучаться до цвета фонта?


Canvas.Brush.Color


> До ID записи на которой стоим?


Row


← →
Kyt   (2002-07-11 16:58) [12]

Пролетая мышью над записью, нужно знать значение этого поля, для проверки на Valid. Как??


← →
Skier ©   (2002-07-11 17:01) [13]

>Kyt
Cells[Col, Row]


← →
Kyt   (2002-07-11 17:33) [14]

У меня TCustomGrid


← →
Skier ©   (2002-07-11 17:39) [15]

>Kyt
Ааа... точно. Извини.

А как ты вообще собрался работать с TCustomGrid у него
же нет ничего для работы со строками ?

Тогда уж "тащи" в TCustomGrid всё что нужно для
работы со строками из TStringGrid




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.008 c
7-70938
BJValentine
2002-04-25 16:41
2002.07.22
Файлы


1-70678
SPeller
2002-07-10 14:02
2002.07.22
Подсказки в Статус-баре


3-70635
ASM
2002-07-01 15:20
2002.07.22
FormattedMemo?


1-70746
3asys
2002-07-07 22:10
2002.07.22
Создание в run-time TWebBrowser


1-70784
Fiend
2002-07-10 09:40
2002.07.22
Service ADO




   Наверх