![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование 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)
Код в обработчике выполняется?