Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование DrawText в обработчике DrawColumnCell в DBGrid [D4, Win95/98]


CTAPbIi ©   (2005-01-02 18:57:00) 

Хочу вручную выводить текст в DBGrid. Написал обработчик. Но почему-то текст не выводится. Что я делаю неправильно? ТОже самое, но с TextOut, работает

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
    const Rect: TRect; DataCol: Integer; Column: TColumn;
    State: TGridDrawState);
var
 r: TRect;
begin
 r:=Rect;
 (Sender as TDBGrid).Canvas.FillRect(Rect);
 DrawText((Sender as TDBGrid).Canvas.Handle,
          PChar('Text from database'), -1, r,
          DT_SINGLELINE or DT_RIGHT or DT_VCENTER or
          DT_END_ELLIPSIS);
end;


CTAPbIi   (2005-01-03 14:57:00) [1]

Что интересно, проверил DrawText на форме, StringGrid, ListBox - все работает и для bdRightToLeft. Только в DBGrid не работает!?


CTAPbIi   (2005-01-03 14:16:00) [2]

Да, код выполняется. Ячейка ощищается, но текст не выводится. Я нашел в чем дело, но непонятно, или это баг, или можно как-то решить проблему. В DBGrid было выставлено свойство BiDiMode:=bdRightToLeft. Я поменял на bdLeftToRight, после этого текст выводится. Но все-таки, если мне нужно показывать грид справа налево, неужели DrawText не работает?


begin...end   (2005-01-02 20:18:00) [3]

> CTAPbIi   (02.01.05 18:57)

Код в обработчике выполняется?


Наверх

Титульная страница Поиск, карта сайта Написать письмо