Вниз
Скачать: 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
14-70896
PVOzerski
2002-06-25 12:30
2002.07.22
Кто подскажет, где в Сети можно найти/скачать УДК?


14-70907
kosyak
2002-06-24 20:57
2002.07.22
редактор


1-70760
pusrg
2002-07-09 18:10
2002.07.22
Не грузится рантайм пакет.


7-70930
YY
2002-04-30 18:51
2002.07.22
Ламерский вопрос по встроенному Assembler у


1-70726
avr555
2002-07-10 20:47
2002.07.22
Поиск и замена в Word е




   Наверх