Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Как определить координаты ячейки в строке?   Найти похожие ветки 

 
Beavercrazy   (2007-01-18 12:41) [0]

Есть Dbgrid, в нем строки и соответственно ячейки. Необходимо определить координаты определенных ячеек, чтобы затем под ними показать компонент panel. У меня 10 колонок и соответственно необходимо показывать tpanel либо перед 3,6 или под обеими сразу. Вопрос собственно как определить координаты ячеек выделенной строки. ОЧень нужен код.

Заранее спасибо.


 
ЮЮ ©   (2007-01-18 12:45) [1]


> необходимо показывать tpanel либо перед 3,6 или под обеими
> сразу

Ничего не понимаю. А строк сколько. А то что они скроллироваться могут не беспокоит? Грид, в конце концов не для того придуман, чтобы к нему ещё и TPanel-и прикручивать :)


 
Elen ©   (2007-01-18 12:46) [2]


> под ними показать компонент panel.

Под ним будет не видно. А над ним (или в занимаемой ячейкой областью экрана) можно попробовать рисовать в DrawDataCell. Там координаты передаются, имхо.


 
Beavercrazy   (2007-01-18 13:46) [3]

Просто задача показать текст ячеек в которые этот самый текст не входит. К примеру примечание. В это поле входит 255 символов, а видно не вооруженым глазом 30 :). Дальше расширять столбик смысла нет. Было бы очень удобно подсвечивать этакой hint в тех записях, где весь текст не виден. ИМХО удобно panel прикрутить. Может есть и другой путь.


 
Johnmen   (2007-01-18 13:52) [4]

Во-первых, в Dbgrid никакого текста, никаких данных нет.
Во-вторых, если нужен такой хинт, то он уже давным-давно сделан. В EhLib"овском ДБГриде. Можешь глянуть на его, так нужный тебе, код...


 
Beavercrazy   (2007-01-18 14:08) [5]


> В EhLib"овском ДБГриде. Можешь глянуть на его, так нужный
> тебе, код...

Могу легко перейти на Ehlib. Не подскажите как там сделать такой Hint? Через Object Inspector?


 
Johnmen   (2007-01-18 14:12) [6]

У грида ShowHint = True, у колонки - ToolTips = True


 
Sergey13 ©   (2007-01-18 14:18) [7]

Если в этом поле лежит нечто важное, то почему бы вместо колонки в гриде не вывести его в Мемо рядом с гридом? Мое ИМХО - некузяво нечто важное хинтом показывать. Если нечто справочное/второстепенное, тогда да.


 
Beavercrazy   (2007-01-18 14:32) [8]


> У грида ShowHint = True, у колонки - ToolTips = True

А можно сделать, чтобы hint появлялся сразу после выделения строки. Т.е сейчас Hint появляется если навести курсор, а чтобы после выделения строки видна была подсказка? Можно так сделать?


 
Johnmen   (2007-01-18 15:51) [9]

Hint он мышиный хинт. А если мышиный курсор вне грида, а ты "выделяешь" строку? Вот то-то и оно...
Тебе подойдёт Sergey13 ©   (18.01.07 14:18) [7]


 
rar ©   (2007-01-18 18:07) [10]

Можно сделать в обычном гриде

На событие MyDBGridCellClick написать

MyDBGrid.Hint:=VarToStr(Column.Field.CurValue)

я отображаю обычно в статус баре, там больше места


 
MsGuns ©   (2007-01-18 22:05) [11]

type
 TDBGridCrack = class (TCustomGrid);
 ...

function GetActiveGridCellRect(Grid: TDBGrid): TRect;
//*** Возвращает TRect активной ячейки грида
begin
 result.Top := 0; result.Left := 0; result.Bottom := 0; result.Right := 0;
 if dgRowSelect in Grid.Options then exit;
 if Grid.DataSource.DataSet.RecordCount=0 then exit;
 result := TDBGridCrack(Grid).CellRect(TDBGridCrack(Grid).Col,TDBGridCrack(Grid).Row);
end;



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
15-1168263513
vasIzmax
2007-01-08 16:38
2007.02.04
Мы все учились, чему-нибудь и КАК-НИБУДЬ


4-1158843222
laronov
2006-09-21 16:53
2007.02.04
Как получить данные из чужого DBGrid а


2-1168937219
Cara
2007-01-16 11:46
2007.02.04
Проверка пароля.


3-1163498274
Чапаев
2006-11-14 12:57
2007.02.04
Что бы такое raise нуть?..


1-1165996369
Kolan
2006-12-13 10:52
2007.02.04
Запутался с дерективами видимости.