Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.22;
Скачать: 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 вся ветка

Текущий архив: 2002.07.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
6-70846
Alibaba
2002-05-13 17:25
2002.07.22
Как послать сообщение на другой комп?


7-70938
BJValentine
2002-04-25 16:41
2002.07.22
Файлы


3-70586
Duce
2002-06-28 14:43
2002.07.22
Строка, которую TQuery упорно считает MEМО


1-70795
AlexAlex
2002-07-10 12:30
2002.07.22
Как получить имя выбранного (с путем) файла в TShellListView?


14-70883
Bishop
2002-06-25 05:58
2002.07.22
Где можно скачать Delphi Builder?