Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
3-70606
Gorynych
2002-06-30 13:50
2002.07.22
Установка значения DBLookupComboBox вручную


3-70668
Юра
2002-07-01 16:04
2002.07.22
Заблокировать DBGrid без использования disablecontrols


3-70578
jen_bond
2002-06-28 01:37
2002.07.22
ОТмена кеширования


1-70822
eruc
2002-07-09 17:51
2002.07.22
string ???


1-70766
delta
2002-07-09 17:47
2002.07.22
вибор каталогов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский