![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Названия колонок в DBGrid в 2-а, 3-и ряда [D6, Win2k]
diabolik_krsk © (2004-10-26 09:23:00)Уважаемые мастера. Вопрос такой:
На форме существует DBGrid. Заношу туда названия столбцов (что бы по русски названия были) из базы данных.
При изменении ширины столбца (если название столбца длинное) название "уезжает" за правую границу столбца и не отображается.
Как определить, что ширина столбца меньше ширины названия этого же столбца, и если данное соотношение в True то часть названия переносить во вторую строчку (а если надо и в третью).
diabolik_krsk (2004-10-27 09:13:00) [1]
> Думкин © (27.10.04 08:18) [5]
> http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=806
Спасибо, интересная статья.
diabolik_krsk (2004-10-27 09:12:00) [2]
> PKT (27.10.04 07:03) [4]
> var
> R: TRect;
> begin
> .........
> R := Rect;
> DrawText(....., R, ....);
IMHO данная операция вызывает ошибку при компиляции проекта с сообщением TRec redefined, и что то мне подсказывает что такая операция не "пройдет" через компилятор.
Думкин (2004-10-27 08:18:00) [3]http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=806
PKT (2004-10-27 07:03:00) [4]var
R: TRect;
begin
.........
R := Rect;
DrawText(....., R, ....);
diabolik_krsk (2004-10-27 05:16:00) [5]> begin...end ©
Пытался обработать событие DrawText на примере статьи Голубь П.М.:
s := DBGrid1.Columns[0].FieldName;
DrawText(DBGrid1.Canvas.Handle,PChar(s),length(s),Rect,DT_WORDBREAK);
Однако согласно справке описания функции DrawText:
function Windows.DrawText(hdc: HDC; lpString: PChar; nCount: integer; var lpRect: TRect; uFromat: Cardinal):integer;
параметр lpRect: TRect должен быть переменной, а в событии OnDrawColumnCell либо OnDrawDataCell DBGrid'а данный параметр значится как константа. В результате Delphi выдает ошибку компиляции о несовместимости параметра constRect и varRect.
Хотя компоненты StrindGrid и DBGrid являются потомками TCustomGrid.
Может есть возможность обойти как то эту проблему??
Koala (2004-10-26 10:38:00) [6]diabolik_krsk (26.10.04 9:23)
EhDBGrid, там это реализовано
begin...end (2004-10-26 09:24:00) [7]См. справку по API-функции DrawText().