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

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

анализировать код нажатой клавиши [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 анализируется и соотв-но обрабатывается. флаг может быть переменной или временным полем в датасете


Наверх

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