![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
анализировать код нажатой клавиши [D6, dBase, FoxPro]
denary © (2003-03-18 01:41:00)Уважаемые мастера, помогите начинающему!
Как в этой процедуре нужно анализировать код нажатой клавиши:
procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (Key=VK_F5) then
TDBGrid(Sender).Canvas.Brush.Color := RGB($fc,$83,$bc)
else if (Key=VK_F6) then
TDBGrid(Sender).Canvas.Brush.Color := RGB($ff,$ff,$ff);
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
Key не найдено, есссно. Можно ли вообще здесь так делать?
или тогда как в этой процедуре правильно вызвать предыдущую?
procedure TForm4.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F5) then
TDBGrid(Sender).Canvas.Brush.Color := RGB($fc,$83,$bc)
else if (Key=VK_F6)then
TDBGrid(Sender).Canvas.Brush.Color := RGB($ff,$ff,$ff);
DBGrid1DrawColumnCell(Sender,Rect,DataCol,Column,State);
end;
[Error] Unit4.pas(850): There is no overloaded version of "Rect" that can be called with these arguments
[Error] Unit4.pas(850): Incompatible types: "TColumn" and "TGUID"
Нужно просто-напросто красить ячейку по нажатию F5 и снимать раскраску по F6. Не могу никак добиться. Помогите, пожалуйста.
Desdechado (2003-03-24 21:43:00) [1]это не так просто. нужно где-то завести флаг, кот. устанавливается в KeyDown По нажатию клавиши, а в DrawCell анализируется и соотв-но обрабатывается. флаг может быть переменной или временным полем в датасете